INSERT – Thêm một hoặc nhiều dòng dữ liệu trong MySQL

Qua một loạt bài hướng dẫn về mysql, bây giờ chúng ta cùng nhau tìm hiểu câu lệnh truy vấn insert để thêm một hoặc nhiều dòng dữ liệu vào trong mysql nhé.

Chuẩn bị cho bài học

Để chuẩn bị cho bài học này, các bạn cần tạo ra cấu trúc bảng như sau :

Tạo database có tên : sinhviendemo.

Tạo 2 table  sinhvienlop có cấu trúc như sau :

INSERT - Thêm một hoặc nhiều dòng dữ liệu trong MySQL

Như vậy lệnh để tạo 2 bảng trên là như sau:

1.Tạo bảng lop

2.Tạo bảng sinhvien, lưu ý bảng sinhvien có khóa ngoại là lopid để truy xuất dữ liệu liên quan với bảng lop có cột lopid là khóa chính.

Sau khi tạo xong chúng ta cùng xem thành quả :

INSERT - Thêm một hoặc nhiều dòng dữ liệu trong MySQL

Như vậy chúng ta đã có những điều kiện cần để học bài hôm nay! Mình đi luôn vào vấn đề. Ở bảng lop, bây giờ mình muốn thêm vào dữ liệu cho bảng này. Ở đây chúng ta thêm vào table lop với 2 cột là lopid và tenlop.

Vậy muốn thêm dữ liệu (data) vào một bảng (table) nào đó, thì các bạn cần sử dụng câu truy vấn INSERT trong mysql.

Cấu trúc câu truy vấn INSERT – Thêm dữ liệu một dòng

Cấu trúc:

Ý nghĩa: dùng để thêm dòng dữ liệu vào table.

Lưu ý :Mỗi cột ngăn cách nhau bởi dấu phẩy, tương tự như các giá trị values tương ứng cho các cột cũng ngăn cách bởi dấu phẩy.

Áp dụng: Bây giờ chúng ta cùng nhau thêm dữ liệu vào trong bảng lop.Câu truy vấn như sau :

Ở đây vì lopid tự động tăng nên tôi không cần thêm vào cột này, với tenlop thì ví nó là một chuỗi nên cần đặt trong cặp dấu nhấy ‘string’. Với số thì cần hoặc không cần đều được.

// Tương tự như vậy chúng ta thêm vào dòng dữ liệu thứ 2:

Sau khi thực hiện 2 câu lệnh truy vấn, các bạn vào lại phpmyadmin và kiểm tra xem chúng ta đã thêm vào được chưa bằng cách click vào table đã thêm dữ liệu.

INSERT - Thêm một hoặc nhiều dòng dữ liệu trong MySQLINSERT - Thêm một hoặc nhiều dòng dữ liệu trong MySQL

Nhưng nếu với trường hợp trên, các bạn có câu hỏi gì đặt ra không nhỉ? Với nhiều trang web trong thực tế đòi hỏi dữ liệu rất nhiều, như một trang vnexpres.vn chẳng hạn. Một ngày có rất nhiều tin thì giả sữ như trong bảng lop có 100 lớp tất nhiên các bạn phải sử dụng 100 lần câu truy vấn. Như vậy cũng được nhưng rất tốn thời gian, cứ mỗi lần truy vấn lại tốn thời gian cũng như quá thủ công và quá nhiều câu truy vấn, nên MySQL đã tạo ra câu truy vấn INSERT nhiều dòng.

Cấu trúc câu truy vấn INSERT – Thêm nhiều dòng dữ liệu

Cấu trúc:

Ý nghĩa: dùng để thêm nhiều dòng dữ liệu vào table.

Lưu ý :Tương tự như thêm một dòng dữ liệu nhưng để thêm nhiều dòng bằng một câu lệnh truy vấn chúng ta thêm dấu phẩy , dữa các dấu ngoặc tròn.Ví dụ như (value1, value2, … , …,…),(value1, value2, … , …,…)

Áp dụng: Bây giờ chúng ta cùng nhau thêm nhiều dòng dữ liệu vào trong bảng lop.Câu truy vấn như sau :

Như ví dụ trên, tôi đã thêm vào được 4 dòng tương ứng với 4 lớp vào table lop nhưng chỉ dùng duy nhất một câu lệnh truy vấn INSERT. Qua đó các bạn thấy tầm lợi ích khi dùng câu lệnh truy vấn thêm nhiều dòng.

Kiểm tra trong table lop khi truy vấn.

insert into thêm nhiều dòng dữ liệu

Sau khi thực hiện truy vấn nhiều dòng bằng lệnh truy vấn insert

Bây giờ chuyên sâu một tí nữa nhé : 

Giả sử như tôi muốn thêm vào table sinhvien, với trường hợp này vì ở bảng sinhvien có khóa ngoại nên việc chúng ta thêm vào dữ liệu không được để rỗng ở cột này, nếu các bạn để rỗng chắc chắn nó sẽ báo lỗi ngay lập tức.

Vậy cú pháp để thêm khi có khóa ngoại là như sau :

Kết Luận

Qua những ví dụ cụ thể trên, tôi tin rằng các bạn đã biết cách truy vấn thêm dữ liệu một hoặc nhiều dòng khi dùng lệnh truy vấn INSERT đúng không?  Đây là một lệnh truy vấn rất cơ bản nhưng rất quan trọng nên các bạn cần phải thuộc lòng như ăn cháo nhé ^^! ^_^