Scroll to top
Câu lệnh INSERT trong SQL

Câu lệnh INSERT trong SQL

ByAdmin 2024-02-05 10:18
9 min read

Cách sử dụng câu lệnh INSERT trong SQL với hướng dẫn chi tiết bao gồm ví dụ minh họa cụ thể, giúp bạn nắm vững kỹ thuật và áp dụng dễ dàng trong dự án của mình.

Trong quá trình phát triển ứng dụng, việc thêm dữ liệu vào cơ sở dữ liệu là một nhiệm vụ không thể thiếu. Bài viết này sẽ hướng dẫn bạn cách sử dụng câu lệnh INSERT trong SQL cùng với ví dụ cụ thể giúp bạn dễ dàng áp dụng vào dự án của mình.

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

Thêm một bản ghi

Câu lệnh INSERT được sử dụng để thêm một hoặc nhiều bản ghi vào một bảng. Cú pháp cơ bản nhất của câu lệnh INSERT như sau:

Copy sql
1
2
INSERT INTO ten_bang (cot1, cot2, cot3, ...)
VALUES (gia_tri1, gia_tri2, gia_tri3, ...);

Cột cot1, cot2, cot3 là tên các cột trong bảng mà bạn muốn thêm dữ liệu vào. gia_tri1, gia_tri2, gia_tri3 là các giá trị tương ứng với từng cột.

Thêm nhiều bản ghi cùng lúc

SQL cũng cho phép bạn thêm nhiều bản ghi cùng một lúc, giúp tăng hiệu quả xử lý và giảm thời gian thực thi

Copy sql
1
2
3
4
INSERT INTO ten_bang (cot1, cot2, cot3, ...)
VALUES (gia_tri1_a, gia_tri2_a, gia_tri3_a, ...),
       (gia_tri1_b, gia_tri2_b, gia_tri3_b, ...),
       ...;

Thêm bản ghi bỏ qua liệt kê tên cột

Câu lệnh INSERT trong SQL cũng cho phép bạn thêm dữ liệu mà không cần phải chỉ định tên cột, miễn là bạn cung cấp giá trị cho tất cả các cột theo đúng thứ tự mà chúng xuất hiện trong bảng và đảm bảo rằng mỗi giá trị đều phù hợp với kiểu dữ liệu của cột tương ứng. Dưới đây là cú pháp cho việc này:

Copy sql
1
2
INSERT INTO ten_bang
VALUES (gia_tri1, gia_tri2, gia_tri3, ...);

Lưu ý quan trọng: Khi sử dụng cú pháp này, bạn cần phải rất chắc chắn rằng giá trị bạn cung cấp phải tuân theo đúng trình tự và kiểu dữ liệu của các cột trong bảng. Nếu không, bạn có thể gặp lỗi hoặc thêm dữ liệu sai vào cơ sở dữ liệu.

Ví dụ: Giả sử bảng NhanVien có ba cột là ten, tuoi, và diachi với thứ tự tương ứng. Bạn có thể thêm một bản ghi mà không cần chỉ định tên cột như sau:

Copy sql
1
2
INSERT INTO NhanVien
VALUES ('Nguyen Van B', 32, 'Hai Phong');

Sau khi thực hiện xong thì ở bảng NhanVien ta sẽ có kết quả như sau:

ten tuoi diachi
Nguyen Van B 32 Hai Phong

Thêm dữ liệu từ dữ liệu của một bảng khác

Bạn có thể sử dụng câu lệnh INSERT kết hợp với SELECT để chèn dữ liệu từ một bảng khác. Điều này rất hữu ích khi bạn muốn sao chép dữ liệu giữa các bảng

Copy sql
1
2
3
4
INSERT INTO ten_bang (cot1, cot2, cot3, ...)
SELECT cot1, cot2, cot3, ...
FROM bang_khac
WHERE dieu_kien;

Ví dụ: Sao chép dữ liệu từ bảng UngVien vào bảng NhanVien:

Copy sql
1
2
3
4
INSERT INTO NhanVien (ten, tuoi, diachi)
SELECT ten, tuoi, diachi
FROM UngVien
WHERE tuoi < 35;

Đoạn code này thực hiện sao chép dữ liệu từ bảng UngVien vào bảng NhanVien, nó chỉ chọn các bản ghi thoả mãn điều kiện tuổi bé hơn 35.

Bảng UngVien ban đầu:

ten tuoi diachi
Tran Thi A 28 TP HCM
Le Van C 34 Da Nang
Hoang Thi D 36 Ha Noi

Bảng NhanVien sau khi thực thi:

ten tuoi diachi
Tran Thi A 28 TP HCM
Le Van C 34 Da Nang

Câu lệnh INSERT nâng cao

Trong quản lý và thao tác dữ liệu với SQL, ngoài những câu lệnh INSERT cơ bản và trực tiếp, bạn cũng có thể thực hiện các thao tác chèn dữ liệu phức tạp hơn, sử dụng kỹ thuật như AS để định nghĩa bí danh cho bảng hoặc cột, hoặc EXISTS để kiểm tra điều kiện tồn tại trước khi chèn. Các kỹ thuật này mở ra khả năng xử lý dữ liệu mạnh mẽ và linh hoạt, cho phép bạn thực hiện các thao tác dữ liệu nâng cao.

Sử Dụng AS Trong Câu Lệnh INSERT

AS thường được sử dụng trong câu lệnh SELECT để định nghĩa bí danh cho cột hoặc bảng, giúp câu lệnh dễ đọc và dễ quản lý hơn, đặc biệt khi thực hiện truy vấn liên kết nhiều bảng hoặc cột.

Ví dụ: Giả sử bạn muốn chèn dữ liệu từ bảng UngVien vào bảng NhanVien và cần định rõ nguồn dữ liệu:

Copy sql
1
2
3
4
INSERT INTO NhanVien (ten, tuoi, diachi)
SELECT uv.ten, uv.tuoi, uv.diachi
FROM UngVien AS uv
WHERE uv.tuoi < 35;

Trong ví dụ này, AS uv định nghĩa bí danh uv cho bảng UngVien, giúp câu lệnh trở nên rõ ràng và dễ hiểu hơn, đặc biệt khi truy vấn phức tạp với nhiều bảng và cột.

Sử Dụng EXISTS Trong Câu Lệnh INSERT

EXISTS là một hàm SQL được sử dụng để kiểm tra sự tồn tại của bản ghi trong một bảng dựa trên điều kiện cụ thể. Bạn có thể sử dụng EXISTS trong câu lệnh INSERT để kiểm tra điều kiện trước khi thực hiện chèn dữ liệu, đảm bảo rằng chỉ chèn dữ liệu khi thoả mãn điều kiện nhất định.

Ví dụ: Chỉ chèn dữ liệu vào bảng NhanVien nếu tồn tại ít nhất một bản ghi trong bảng UngVien có tuổi bé hơn 35:

Copy sql
1
2
3
4
INSERT INTO NhanVien (ten, tuoi, diachi)
SELECT ten, tuoi, diachi
FROM UngVien
WHERE EXISTS (SELECT 1 FROM UngVien WHERE tuoi < 35);

Trong ví dụ này, EXISTS được sử dụng để thực hiện một truy vấn con kiểm tra xem có bất kỳ bản ghi nào trong bảng UngVien có tuổi bé hơn 35 hay không. Câu lệnh INSERT chỉ được thực hiện nếu kết quả của truy vấn con là đúng, tức là có ít nhất một bản ghi thoả mãn điều kiện.


Qua bài viết này, chúng ta đã tìm hiểu về câu lệnh INSERT trong MySQL, từ những cú pháp cơ bản nhất cho đến các kỹ thuật nâng cao như sử dụng AS và EXISTS. Mỗi ví dụ được cung cấp đều nhằm mục đích giúp bạn hiểu rõ hơn về cách thức hoạt động và áp dụng chúng vào các tình huống cụ thể trong quá trình phát triển ứng dụng và quản lý cơ sở dữ liệu.

Đánh giá bài viết: 4.9/5 (53 đánh giá)
Bạn chưa đánh giá

Bình luận

Author
hoclaptrinh.io author
Tác giả:Yuto Yasunaga

Mình là một full stack developer, tốt nghiệp và làm việc tại Nhật Bản. Trang web này là nơi mình tổng hợp, đúc kết và lưu trữ lại những kiến thức trong quá trình học và làm việc liên quan đến IT.
Hy vọng những bài viết ở website này sẽ có ích cho bạn.