Trong bài viết hôm nay chúng ta sẽ tìm hiểu về câu lệnh INSERT INTO trong MySQL, đây là một câu lệnh cơ bản và thường được dùng rất nhiều trong quản lý cơ sở dữ liệu với MySQL.
Câu lệnh INSERT INTO dùng để chèn 1 hay nhiều bản ghi vào trong 1 bảng.
Lệnh INSERT INTO trong MySQL.
Câu lệnh INSERT INTO có 2 cú pháp chèn dữ liệu, chỉ định cột và chèn dữ liệu theo mặc định đúng thứ tự cột.
1. Chèn dữ liệu theo cột chỉ định
Cú pháp
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Trong đó:
- table_name: Là tên bảng cần chèn dữ liệu.
- , column2, column3….: Là tên cột số 1, tên cột số 2, tên cột số 3(Tên cột không nhất thiết phải theo thứ tự cột trên bảng).
- alue1, value2, value3: Là giá trị tương ứng của từng cột.
Ví dụ minh họa:
Mình có bảng users như bên dưới.
Bây giờ để chèn 1 bản ghi vào bảng trên sẽ có câu lệnh đầy đủ sau:
INSERT INTO users(name, phone, pass)
VALUES ('tuicocach','0347111111', '11111111')
Vì với bảng ở trên mình thiết kế id là khóa chính và cài đặt tự động tăng dần AUTO_INCREMENT nên có thể bỏ qua cột id khi chèn bản ghi.
>>XEM THÊM: Tìm hiểu AUTO_INCREMENT Field trong MySQL – Cột giá trị tự tăng dần
hoặc nếu bạn vẫn muốn tự chèn id một cách thủ công, có thể viết lại câu lệnh như sau:
INSERT INTO users(id, name, phone, pass)
VALUES ('2', 'tuicocach','0347111111', '11111111')
Tuy nhiên khi chèn id thủ công bạn phải đảm bảo được rằng id đó chưa tồn tại trên bảng trước đó, nếu không sẽ gây ra lỗi.
Dữ liệu sau khi ta đã chèn bản ghi vào bảng
Trong trường hợp nếu ta muốn chèn nhiều bản ghi cùng một lúc trong cùng 1 câu lệnh insert, mỗi bản ghi ta sẽ để trong cặp dấu ngoặc ( ), mỗi bản ghi cách nhau bởi 1 dấu phẩy (dấu ,). Ta viết câu lệnh như sau.
INSERT INTO users(name, phone, pass)
VALUES ('tuicocach','0347111111', '11111111'),
('banghi2','333', '555'),
('banghi3','333654', '565555');
Như vậy khi chạy câu lệnh này 1 lúc sẽ chèn 3 bản ghi vào bảng.
>>XEM THÊM: Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
2. Chèn dữ liệu theo mặc định thứ tự cột
Khác với cú pháp ở trên, ở đây ta sẽ không cần khai báo tên cột cần truyền giá trị, chỉ cần đảm bảo rằng giá trị truyền vào khi insert là theo đúng thứ tự cột trong thiết kế bảng là được.
Cú pháp
INSERT INTO table_name
VALUES (value1, value2, value3, value4 ...);
Trong đó:
- table_name: Là tên bảng cần chèn dữ liệu.
- value1, value2, value3, value4: Là giá trị tương ứng của cột theo đúng thứ tự thiết kế bảng.
Ví dụ:
Vẫn với ví dụ là chèn một bản ghi vào bảng bên trên, ta viết câu lệnh chèn với cú pháp như sau:
INSERT INTO users
VALUES (null, '034714564','tuicocach','1111111');
Tương tự để chèn nhiều bản ghi cùng lúc câu lệnh như sau:
INSERT INTO users
VALUES (null, '034714564','tuicocach','1111111'),
(null,'banghi2','333', '555'),
(null,'banghi2','333', '555');
Vì sao giá trị đầu tiên mình lại truyền dữ liệu vào là null. Cột đầu tiên trong bảng users chính là cột id, và cột đó là khóa chính và để AUTO_INCREMENT tự động tăng dần, vì thế khi truyền vào giá trị null, id lúc đó sẽ tự sinh theo quy tác.
>>XEM THÊM: Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
CẢM ƠN ĐÃ ĐỌC HẾT BÀI VIẾT! CHÚC BẠN HỌC TỐT!
[XEM TẤT CẢ BÀI VIẾT CHUYÊN ĐỀ MYSQL TẠI ĐÂY]
XEM THÊM Lệnh DELETE trong MySQL – Lệnh xóa bản ghi Tìm hiểu thuộc tính AUTO_INCREMENT trong MySQL – Giá trị tự tăng dần Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng Mệnh đề WHERE trong MySQL – Mệnh đề điều kiện