Hướng dẫn insert dữ liệu vào trong bảng trong sql

Mã lệnh Insert Into trong SQL được sử dụng để thêm một dòng dữ liệu trong một bảng. Chúng ta có 2 cách sử dụng Insert Into trong SQL

  • Chỉ chứa các giá trị, lưu ý với cách này các gía trị phải được đặt đúng thứ tự của các cột tương ứng khi tạo bảng.

INSERT INTO table_name VALUES (value1, value2, value3,…); table_name: Tên của bảng value1, value2,.. : giá trị của bảng thứ nhất, thứ hai, thứ ba, thứ n

Chứa cả tên cột và giá trị, đối với cách này vì đã chỉ định tên cột, nên thứ tự có thể đảo lộn, tuy nhiên cần đảm bảo giá trị đi đúng theo thứ tự đã khai báo trong mệnh đề Insert Into.

INSERT INTO table_name (column1, column2, column3,..) VALUES ( value1, value2, value3,..); table_name: Tên của bảng. column1: Tên cột thứ nhất, thứ 2, thứ n value1, value2, value3 : giá trị của bảng thứ nhất, thứ hai, thứ ba, thứ n

Ví dụ sử dụng Insert Into

Cho bảng NHANVIEN, Thêm dữ liệu vào bảng NHANVIEN với cú pháp chứa cả tên cột và giá trị.

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (1, 'Thanh', 24, 'Haiphong', 2000.00 ); INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (2, 'Loan', 26, 'Hanoi', 1500.00 ); INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (3, 'Nga', 24, 'Hanam', 2000.00 ); INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (4, 'Manh', 29, 'Hue', 6500.00 ); INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (5, 'Huy', 28, 'Hatinh', 8500.00 ); INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) VALUES (6, 'Cao', 23, 'HCM, 4500.00 );

Thêm dữ liệu sử dụng cu pháp chỉ chứa giá trị.

INSERT INTO NHANVIEN VALUES (7, 'LAM', 29, 'Hanoi, 15000.00 );

Kết quả cuối cùng, chúng ta sẽ có bảng NHANVIEN chứa 7 dòng dữ liệu sau

++--+-+---+-+

ID TEN TUOI DIACHI LUONG
+----+----------+-----+-----------+---------+
1 Thanh 24 Haiphong 2000.00
2 Loan 26 Hanoi 1500.00
3 Nga 24 Hanam 2000.00
4 Mạnh 29 Hue 6500.00
5 Huy 28 Hatinh 8500.00
6 Cao 23 HCM 4500.00
7 Lam 29 Hanoi 15000.00
+----+----------+-----+-----------+---------+

Sử dụng Insert Into với Select

Chúng ta có thể sử dụng câu lệnh SELECT với câu lệnh INSERT INTO để sao chép các dòng từ một bảng và chèn chúng vào một bảng khác. Việc sử dụng câu lệnh này tương tự như câu lệnh INSERT INTO. Sự khác biệt là câu lệnh SELECT được sử dụng ở đây để chọn dữ liệu từ một bảng khác.

Ví dụ chúng ta có bảng Student

Hướng dẫn insert dữ liệu vào trong bảng trong sql

Sao chép toàn bộ dữ liệu

Chúng ta có thể sao chép toàn bộ dữ liệu từ một bảng sang một bảng khác với Insert Into kết hợp với Select.

INSERT INTO first_table SELECT * FROM second_table; first_table: Table được thêm dữ liệu second_table: Table bị sao chép dữ liệu

Nếu mình có một bảng LateralStudent mô tả như sau

ROLL_NO NAME ADDRESS PHONE Age 7 SOUVIK DUMDUM XXXXXXXXXX 18 8 NIRAJ NOIDA XXXXXXXXXX 19 9 SOMESH ROHTAK XXXXXXXXXX 20

Khi chạy lệnh mã lệnh dưới đây sẽ sao chép toàn bộ dữ liệu từ LateralStudent sang bảng Student

INSERT INTO Student SELECT * FROM LateralStudent;

Kết quả sẽ là

ROLL_NO NAME ADDRESS PHONE Age 1 Ram Delhi XXXXXXXXXX 18 2 RAMESH GURGAON XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SURESH Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAON XXXXXXXXXX 18 7 SOUVIK DUMDUM XXXXXXXXXX 18 8 NIRAJ NOIDA XXXXXXXXXX 19 9 SOMESH ROHTAK XXXXXXXXXX 20

Sao chép một số cột được chỉ định

Chúng ta có thể sao chép toàn bộ dữ liệu từ một bảng với các cột được chỉ định sang một bảng khác với Insert Into kết hợp với Select.

INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent;

Câu truy vấn trên sẽ sao chép toàn bộ dữ liệu từ LateralStudent sang Student nhưng chỉ sao chép dữ liệu trong các cột ROLL_NO,NAME,Age). Các cột còn lại sẽ bị NULL.

ROLL_NO NAME ADDRESS PHONE Age 1 Ram Delhi XXXXXXXXXX 18 2 RAMESH GURGAON XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SURESH Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAON XXXXXXXXXX 18 7 SOUVIK null null 18 8 NIRAJ null null 19 9 SOMESH null null 20

Sao chép có điều kiện

Nếu không muốn sao chép toàn bộ dữ liệu, chúng ta chỉ cần thêm các điều kiện vào mệnh đề WHERE để lọc ra các dữ liệu mong muốn.

INSERT INTO Student SELECT * FROM LateralStudent WHERE Age = 18;

Câu truy vấn trên sẽ chỉ sao chép các dữ liệu từ LateralStudent sang Student chỉ khi nó có tuổi từ 18 trở lên.

ROLL_NO NAME ADDRESS PHONE Age 1 Ram Delhi XXXXXXXXXX 18 2 RAMESH GURGAON XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 4 SURESH Delhi XXXXXXXXXX 18 3 SUJIT ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAON XXXXXXXXXX 18 SOUVIK DUMDUM XXXXXXXXXX 18

Insert nhiều dòng trong SQL

Nếu muốn thêm dữ liệu nhiều dòng trong SQL thì bạn chỉ cần cung cấp danh sách các giá trị tương ứng cho mỗi dòng cách nhau bởi dấu phẩy.