Có nhiều cách sử dụng câu lệnh Insert SQL Server vào table, bạn chọn 1 cách phù hợp với nghiệp vụ.
INSERT INTO TenBang
VALUES (GiaTri1, GiaTri2, GiaTri3, ...);
Ví dụ:
INSERT INTO KhachHang
VALUES (1, 'Nguyễn Văn A', 'Hà Nội', '0123456789');
* Các này không quan tâm thứ tự cột., nhược điểm dễ bị lỗi nếu thay đổi vị trí cột trong table.
INSERT INTO TenBang (Cot1, Cot2, Cot3)
VALUES (GiaTri1, GiaTri2, GiaTri3);
Ví dụ:
INSERT INTO KhachHang (Ten, DiaChi)
VALUES ('Trần Thị B', 'TP. HCM');
⚠ Lưu ý: Các cột không được chỉ định phải có giá trị mặc định hoặc cho phép NULL.
INSERT INTO TenBang (Cot1, Cot2, Cot3)
VALUES
(GiaTri1a, GiaTri2a, GiaTri3a),
(GiaTri1b, GiaTri2b, GiaTri3b),
(GiaTri1c, GiaTri2c, GiaTri3c);
Ví dụ:
INSERT INTO SanPham (MaSP, TenSP, Gia)
VALUES
(1, 'Đồng hồ Seiko', 5000000),
(2, 'Đồng hồ Casio', 1500000),
(3, 'Đồng hồ Citizen', 3000000);
INSERT INTO TenBang (Cot1, Cot2, Cot3)
SELECT CotA, CotB, CotC FROM BangNguon WHERE DieuKien;
Ví dụ:
INSERT INTO KhachHangBackup (MaKH, Ten, DiaChi)
SELECT MaKH, Ten, DiaChi FROM KhachHang WHERE DiaChi = 'Hà Nội';
✅ Những phần mềm dễ thường chọn cách 1,2 và các phần mềm phức tạp hơn chọn cách 3,4
✅ Khi làm phần mềm nên chọn cách 2, vì không bị ảnh hưởng bởi thứ tự các cột trong table SQL Server
Ví dụ như sau: bạn có 1 table tbHoSo có các cột Mã, tên, lớp
Nếu code sql cách 1:
INSERT INTO tbHoSo
VALUES ('01', 'Tran A', 'Lop 10');
Nếu như ta đổi lại thiết kế cấu trúc table tbHoSo có các cột Mã, lớp, tên thì hệ thống sẽ sinh ra lỗi, vì thứ từ đã không đúng.
✅ Kiểu dữ liệu số không cần dấu '' 2 bên giá trị
Ví dụ như sau: bạn có 1 table tbHoSo có các cột Ma, Ten,Diem
INSERT INTO tbHoSo
VALUES ('01', 'Tran A', 10); ta thấy số 10 không cần dấu ' , nhưng nếu thêm vào chạy vẫn được. Nhưng không nên như vậy, vì gây ra tính toán bị sai sót.
Câu lệnh INSERT trong SQL Server được dùng để chèn dữ liệu mới vào bảng. Dưới đây là các cách sử dụng phổ biến