Chèn dữ liệu, thêm dữ liệu vào bảng SQL với mệnh đề INSERT INTO
Các bảng SQL lưu trữ dữ liệu theo các dòng. Câu lệnh (mệnh đề) INSERT INTO dùng để thêm (chèn) một hoặc nhiều dòng dữ liệu vào bảng.
Cú pháp INSERT INTO - câu lệnh thêm dữ liệu trong sql
INSERT INTO table_name (column1, column2, column3, ...,columnN) VALUES (value1, value2, value3,...valueN);
Trong đó:
- column1, column2, column3 ... là tên cột cần thiết lập dữ liệu của bảng
- value1, value2, value3 ... là giá trị ứng với tên cột ở trên
Ví dụ: insert dữ liệu vào bảng trong sql
INSERT INTO Khachhang (Hoten, TenLienLac, Diachi, Thanhpho, Mabuudien, Quocgia) VALUES ('XuanThuLab', 'MR XTL', 'Ba Đình, Hà Nội', 'Hà Nội', '1000000', 'Việt Nam');
Tải CSDL SQLite mẫu để thực hành hoặc Chạy SQL Online
Sau khi chạy lệnh trên, bạn có thể kiểm tra lại xem dữ liệu đã chắc chắn chèn vào
SELECT * FROM Khachhang WHERE HoTen = 'XuanThuLab'
Kết quả
KhachhangID | HoTen | TenLienLac | Diachi | Thanhpho | MaBuudien | QuocGia |
---|---|---|---|---|---|---|
92 | XuanThuLab | MR XTL | Ba Đình, Hà Nội | Hà Nội | 1000000 | Việt Nam |
Chèn dòng nhiều dòng vào bảng
Thay vì phải thực hiện nhiều lần mệnh đề INSERT INTO chèn dữ liệu vào bảng sql, bạn có thể chèn nhiều dòng chỉ bằng một lần chạy INSERT INTO, cú pháp như sau:
INSERT INTO table_name (column1, column2, column3, ...,columnN) VALUES (Avalue1, Avalue2, Avalue3,...AvalueN), (Bvalue1, Bvalue2, Bvalue3,...BvalueN), ... ;
Các dòng dữ liệu có cùng cấu trúc (thứ tự), mỗi dữ liệu dòng chèn vào nằm trong dấu () và chúng cách nhau bởi dấu ,
Chèn dòng mới mà chỉ cần gán dữ liệu cần thiết vào một số cột
Khi dùng INSERT INTO để thêm một dòng mới, nhiều trường hợp không cần thiết phải thiết lập toàn bộ giá trị các cột theo đúng số lượng cột của cấu trúc bẳng, nhiều cột trong bảng được thiết lập cấu hình để tự gán giá trị mặc định nếu không có truyền giá trị thiết lập cho nó khi thực hiện thêm dòng dữ liệu.
Ví dụ
INSERT INTO Khachhang (Hoten, TenLienLac) VALUES ('Đào Nguyên An', 'MR An');
Sau khi chạy lệnh trên, truy vấn đến bảng Customers
SELECT * FROM Khachhang WHERE HoTen = 'Đào Nguyên An'
Kết quả
KhachhangID | HoTen | TenLienLac | Diachi | Thanhpho | MaBuudien | QuocGia |
---|---|---|---|---|---|---|
93 | Đào Nguyên An | MR An |
Bạn thấy khi dòng cuối được chèn thêm, do Diachi, Thanhpho, MaBuudien, QuocGia không được truyền giá trị nên nó tự động nhận giá trị mặc định null (tất nhiên chỉ thực hiện được khi cấu trúc bảng có dàng buộc này).
Chú ý khi tạo ra cấu trúc bảng, cột nào được thiết lập không nhận giá trị mặc định, không chấp nhận null thì khi dùng INSERT INTO bắt buộc phải thiết lập giá trị cho cột này. Xem phần Dàng buộc SQL để tham khảo thêm!