CodeGym /Các khóa học /SQL SELF /Cơ bản về chèn dữ liệu với INSERT INTO

Cơ bản về chèn dữ liệu với INSERT INTO

SQL SELF
Mức độ, Bài học
Có sẵn

Chèn dữ liệu là gì nhỉ?

Hãy tưởng tượng bạn vừa mở một trường đại học. Bạn có một database với các bảng, ví dụ như students để lưu thông tin sinh viên. Đến lúc công bố danh sách sinh viên nhập học và thêm dữ liệu của họ vào bảng. Trong SQL, bạn dùng lệnh INSERT INTO cho việc này. Nó cho phép bạn thêm một dòng mới vào bảng — giống như bạn tự điền một dòng mới trong Excel, nhưng nhanh hơn, mạnh hơn và bằng code luôn!

Thêm dữ liệu không chỉ cho mấy việc cơ bản đâu. Nó dùng khắp nơi — từ lưu đơn hàng trên web shop đến lưu thông tin giao dịch ngân hàng. Còn với trường đại học — đó là danh sách sinh viên, giảng viên và cả thời khóa biểu nữa.

Cú pháp cơ bản của lệnh INSERT INTO

Trong SQL, lệnh INSERT INTO là cách đơn giản để thêm một dòng mới vào bảng. Cùng xem cú pháp cơ bản nhé:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Giải thích các thành phần:

  1. table_name — tên bảng mà bạn muốn thêm dữ liệu vào.
  2. (column1, column2, column3, ...) — danh sách các cột mà bạn sẽ điền giá trị.
  3. VALUES (value1, value2, value3, ...) — danh sách giá trị bạn muốn chèn vào các cột tương ứng.

Ví dụ: thêm một sinh viên mới vào bảng students. Giả sử bảng của bạn như sau:

id name age course
1 Otto Song 18 Toán học

Bây giờ thêm sinh viên thứ hai bằng INSERT INTO:

INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, 'Tin học');

Sau khi chạy lệnh, bảng sẽ như này:

id name age course
1 Otto Song 18 Toán học
2 Anna Lin 19 Tin học

Chèn dữ liệu vào tất cả các cột

Nếu bạn muốn chèn giá trị cho tất cả các cột của bảng, bạn có thể bỏ qua tên cột trong lệnh INSERT INTO. Nhưng nhớ là bạn phải điền giá trị cho từng cột theo đúng thứ tự nhé.

Cú pháp:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

Ví dụ: bạn thêm một sinh viên nữa vào bảng students:

INSERT INTO students
VALUES (3, 'Dan Sim', 20, 'Vật lý');

Kết quả:

id name age course
1 Otto Song 18 Toán học
2 Anna Lin 19 Tin học
3 Dan Sim 20 Vật lý

Nhưng cách này hơi nguy hiểm nếu cấu trúc bảng thay đổi. Vì vậy nên luôn ghi rõ danh sách cột để tránh lỗi nha.

Thực hành: thêm sinh viên mới

Thử thêm một sinh viên mới vào bảng students của mình, tận dụng hết sức mạnh của lệnh INSERT INTO nhé.

Bước 1: Kiểm tra dữ liệu hiện tại

Trước khi làm gì, nên kiểm tra xem bảng đã có dữ liệu gì chưa. Dùng lệnh SELECT:

SELECT * FROM students;

Bước 2: Thêm sinh viên mới

Bây giờ thêm sinh viên Peter Chi, học ngành "Sinh học", 21 tuổi:

INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, 'Sinh học');

Bước 3: Kiểm tra lại dữ liệu đã thêm chưa

Lại chạy lệnh lấy toàn bộ dữ liệu:

SELECT * FROM students;

Kết quả:

id name age course
1 Otto Song 18 Toán học
2 Anna Lin 19 Tin học
3 Dan Sim 20 Vật lý
4 Peter Chi 21 Sinh học

Quá đỉnh luôn nhỉ? Giờ Peter đã có mặt trong trường của tụi mình rồi.

Lỗi thường gặp khi dùng INSERT INTO

Không khớp số lượng cột và giá trị. Nếu bạn ghi 4 cột mà chỉ chèn 3 giá trị, SQL sẽ báo lỗi ngay:

INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, 'Hóa học');

Lỗi: số lượng cột không khớp với số lượng giá trị.

Vi phạm ràng buộc. Nếu cột yêu cầu duy nhất (UNIQUE) hoặc bắt buộc NOT NULL, vi phạm sẽ làm lệnh fail.

Kiểu dữ liệu.

Nếu bạn thử chèn text vào trường số, PostgreSQL cũng sẽ không vui đâu:

INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'hai mươi', 'Hóa học');

Tại sao cần dùng trong dự án thực tế?

Biết lệnh INSERT INTO là skill bạn sẽ dùng gần như ở mọi app có database. Ngoài đời, bạn sẽ dùng lệnh này để:

  • Đăng ký user mới vào hệ thống.
  • Thêm đơn hàng vào web shop.
  • Lưu dữ liệu thanh toán vào hệ thống payment.
  • Cập nhật dữ liệu hàng ngày về sinh viên, điểm danh, điểm số trong hệ thống giáo dục.

Mỗi lần app của bạn tương tác với user hoặc nguồn dữ liệu ngoài, lệnh INSERT INTO sẽ là công cụ chính để ghi dữ liệu vào database.

Nếu bạn làm backend hoặc định viết API xử lý dữ liệu, biết chèn dữ liệu bằng SQL là skill cơ bản nhưng cực kỳ quan trọng luôn!

2
Nhiệm vụ
SQL SELF, mức độ, bài học
Đã khóa
Chèn nhiều dòng vào bảng
Chèn nhiều dòng vào bảng
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION