Computer >> Máy Tính >  >> Lập trình >> MySQL

Cập nhật bảng trong MySQL và chỉ hiển thị tên viết tắt trong một cột mới


Để lấy tên ban đầu, hãy sử dụng khái niệm left () cùng với substring_index ().

Hãy để chúng tôi tạo một bảng -

mysql> create table demo13
−> (
−> full_name varchar(100),
−> short_name varchar(20)
−> );
Query OK, 0 rows affected (1.18 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo13(full_name) values('John Smith');
Query OK, 1 row affected (0.27 sec)

mysql> insert into demo13(full_name) values('David Miller');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo13(full_name) values('Chris Brown');
Query OK, 1 row affected (0.28 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo13;

Điều này sẽ tạo ra kết quả sau -

+--------------+------------+
| full_name    | short_name |
+--------------+------------+
| John Smith   | NULL       |
| David Miller | NULL       |
| Chris Brown  | NULL       |
+--------------+------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn cập nhật bảng và lấy tên viết tắt -

mysql> update demo13
−> set short_name= concat(
−> left(full_name, 1),
−> left(substring_index(full_name, ' ', −1), 1)
−> );
Query OK, 3 rows affected (0.14 sec)
Rows matched: 3 Changed: 3 Warnings: 0

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo13;

Điều này sẽ tạo ra kết quả sau -

+--------------+------------+
| full_name    | short_name |
+--------------+------------+
| John Smith   | JS         |
| David Miller | DM         |
| Chris Brown  | CB         |
+--------------+------------+
3 rows in set (0.00 sec)