Dữ liệu trong cỏc bảng được thể hiện dưới dạng cỏc dũng (bản ghi). Để bổ sung thờm cỏc dũng dữ liệu vào một bảng, ta sử dụng cõu lệnh INSERT. Hầu hết cỏc hệ quản trị CSDL dựa trờn SQL cung cấp cỏc cỏch dưới đõy để thực hiện thao tỏc bổ sung dữ liệu cho bảng:
• Bổ sung từng dũng dữ liệu với mỗi cõu lệnh INSERT. Đõy là cỏc sử dụng thường gặp nhất trong giao tỏc SQL.
• Bổ sung nhiều dũng dữ liệu bằng cỏch truy xuất dữ liệu từ cỏc bảng dữ liệu khỏc.
Bổ sung từng dũng dữ liệu với lệnh INSERT
Để bổ sung một dũng dữ liệu mới vào bảng, ta sử dụng cõu lệnh INSERT với cỳ phỏp như sau:
INSERT INTO tờn_bảng[(danh_sỏch_cột)] VALUES(danh_sỏch_trị)
Trong cõu lệnh INSERT, danh sỏch cột ngay sau tờn bảng khụng cần thiết phải chỉ định nếu giỏ trị cỏc trường của bản ghi mới được chỉ định đầy đủ trong danh sỏch trị. Trong trường hợp này, thứ tự cỏc giỏ trị trong danh sỏch trị phải bằng với số lượng cỏc trường của bảng cần bổ sung dữ liệu cũng như phải tuõn theo đỳng thứ tự của cỏc trường như khi bảng được định nghĩa.
Vớ dụ 2.48: Cõu lệnh dưới đõy bổ sung thờm một dũng dữ liệu vào bảng KHOA
INSERT INTO khoa
VALUES(‘DHT10’,’Khoa Luật’,’054821135’)
Trong trường hợp chỉ nhập giỏ trị cho một số cột trong bảng, ta phải chỉ định danh sỏch cỏc cột cần nhập dữ liệu ngay sau tờn bảng. Khi đú, cỏc cột khụng được nhập dữ liệu sẽ nhận giỏ trị mặc định (nếu cú) hoặc nhận giỏ trị NULL (nếu cột cho phộp chấp nhận giỏ trị NULL). Nếu một cột khụng cú giỏ trị mặc định và khụng chấp nhận giỏ trị NULL mà khụng đuợc nhập dữ liệu, cõu lệnh sẽ bị lỗi.
Vớ dụ 2.49: Cõu lệnh dưới đõy bổ sung một bản ghi mới cho bảng SINHVIEN
INSERT INTO sinhvien(masv,hodem,ten,gioitinh,malop) VALUES(‘0241020008’,‘Nguyễn Cụng’,’Chớnh’,1,’C24102’)
cõu lệnh trờn cũn cú thể được viết như sau:
VALUES(‘0241020008’,‘Nguyễn Cụng’,’Chớnh’, NULL,1,NULL,’C24102’)
Bổ sung nhiều dũng dữ liệu từ bảng khỏc
Một cỏch sử dụng khỏc của cõu lệnh INSERT được sử dụng để bổ sung nhiều dũng dữ liệu vào một bảng, cỏc dũng dữ liệu này được lấy từ một bảng khỏc thụng qua cõu lệnh SELECT. Ở cỏch này, cỏc giỏ trị dữ liệu được bổ sung vào bảng khụng được chỉ định tường minh mà thay vào đú là một cõu lệnh SELECT truy vấn dữ liệu từ bảng khỏc.
Cỳ phỏp cõu lệnh INSERT cú dạng như sau:
INSERT INTO tờn_bảng[(danh_sỏch_cột)] cõu_lệnh_SELECT
Vớ dụ 2.50: Giả sử ta cú bảng LUUSINHVIEN bao gồm cỏc trường HODEM, TEN, NGAYSINH. Cõu lệnh dưới đõy bổ sung vào bảng LUUSINHVIEN cỏc dũng dữ liệu cú được từ cõu truy vấn SELECT:
INSERT INTO luusinhvien SELECT hodem,ten,ngaysinh FROM sinhvien
WHERE noisinh like ‘%Huế%’
Khi bổ sung dữ liệu theo cỏch này cần lưu ý một số điểm sau:
• Kết quả của cõu lệnh SELECT phải cú số cột bằng với số cột được chỉ định trong bảng đớch và phải tương thớch về kiểu dữ liệu.
• Trong cõu lệnh SELECT được sử dụng mệnh đề COMPUTE ... BY