Sau khi đã làm quen với việc đọc dữ liệu bằng câu lệnh SELECT
, một bước tiếp theo quan trọng trong việc thao tác với cơ sở dữ liệu là thêm dữ liệu mới. Trong thực tế, việc thêm dữ liệu có thể đến từ nhiều nguồn: người dùng nhập qua form, hệ thống tự động ghi nhận, hay từ các tập tin được nhập vào. Trong bài này, chúng ta sẽ học cách sử dụng câu lệnh INSERT INTO
để thêm dữ liệu một cách chính xác và an toàn vào bảng trong cơ sở dữ liệu.
Cú pháp cơ bản của INSERT INTO
INSERT INTO ten_bang (cot1, cot2, ...)
VALUES (giatri1, giatri2, ...);
Ví dụ:
Giả sử bạn có bảng students
với các cột id
, name
, age
, class
.
INSERT INTO students (name, age, class)
VALUES ('Nguyễn Văn A', 16, '10A1');
Lưu ý: Nếu cột
id
được thiết lập là tự tăng (AUTO_INCREMENT
), bạn không cần (và không nên) đưa vào câu lệnh.
Thêm nhiều dòng cùng lúc
Bạn có thể thêm nhiều bản ghi trong một câu lệnh INSERT
:
INSERT INTO students (name, age, class)
VALUES
('Trần Thị B', 17, '11B2'),
('Lê Văn C', 15, '9A1'),
('Phạm Thị D', 16, '10A2');
Việc thêm nhiều dòng như vậy giúp giảm số lần kết nối và tương tác với cơ sở dữ liệu, đặc biệt hữu ích khi nhập một lượng lớn dữ liệu.
Thêm dữ liệu đầy đủ (không ghi tên cột)
Bạn cũng có thể bỏ qua danh sách cột nếu cung cấp đủ giá trị cho tất cả các cột, theo đúng thứ tự trong cấu trúc bảng:
INSERT INTO students
VALUES (NULL, 'Đỗ Văn E', 16, '10A3');
NULL
thường được dùng cho cộtid
nếu nó làAUTO_INCREMENT
.
Tuy nhiên, trong thực tế, nên ghi rõ tên cột để mã dễ đọc, dễ bảo trì, tránh lỗi khi cấu trúc bảng thay đổi.
Thêm dữ liệu bằng công cụ giao diện (phpMyAdmin hoặc DBeaver)
Nếu bạn dùng giao diện quản trị như phpMyAdmin:
- Truy cập bảng → Chọn tab “Insert”
- Nhập giá trị vào từng ô → Nhấn “Go”
Tương tự, trong DBeaver:
- Nhấn phải chuột vào bảng → Edit data
- Nhập dữ liệu mới vào dòng trống → Ctrl + S để lưu
Việc thực hành qua giao diện giúp bạn hiểu rõ mối quan hệ giữa bảng và dữ liệu, từ đó khi quay lại viết SQL, bạn sẽ có cái nhìn trực quan hơn.
Một số lỗi thường gặp
- Số lượng giá trị không khớp với số lượng cột:
Ví dụ: bảng có 4 cột nhưng bạn chỉ nhập 3 giá trị. - Kiểu dữ liệu không phù hợp:
Nhập chuỗi'abc'
vào cộtage
kiểuINT
sẽ gây lỗi. - Thiếu dữ liệu bắt buộc:
Nếu cột được khai báo làNOT NULL
nhưng bạn không nhập dữ liệu, sẽ bị báo lỗi.
Thực hành
Giả sử bạn có bảng books
với các cột: id
, title
, author
, year
.
Câu hỏi thực hành:
- Thêm một cuốn sách có tiêu đề
"Dế Mèn Phiêu Lưu Ký"
, tác giả"Tô Hoài"
, xuất bản năm1941
. - Thêm 2 cuốn sách khác trong một câu lệnh
INSERT
.
Kết luận
INSERT INTO
là lệnh giúp bạn bắt đầu “điền đầy” cơ sở dữ liệu với những thông tin thực tế. Khi bạn nắm vững cú pháp và hiểu cách dùng, bạn sẽ dễ dàng tương tác và quản lý dữ liệu của mình một cách chủ động và chính xác. Trong bài tiếp theo, chúng ta sẽ học cách chỉnh sửa dữ liệu đã có bằng lệnh UPDATE
.
Thảo luận