UNION kết hợp (Bài trước)
(Bài tiếp) UPDATE cập nhật

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ả

KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
92XuanThuLabMR XTLBa Đình, Hà NộiHà Nội1000000Việ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ả

KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
93Đào Nguyên AnMR 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!


Đăng ký nhận bài viết mới
UNION kết hợp (Bài trước)
(Bài tiếp) UPDATE cập nhật