Hướng dẫn insert into select mysql - chèn vào mysql chọn

Câu lệnh INSERT trong MySQL được sử dụng để chèn dữ liệu vào bảng.

Nội dung chính

  • Cú pháp
  • Ví dụ chèn dữ liệu vào bảng trong MySQL
    • Ví dụ 1 insert dữ liệu vào bảng
    • Ví dụ 2 insert dữ liệu vào bảng với trường primary key tự động tăng

Cú pháp

Cú pháp SQL cơ bản của lệnh INSERT INTO để chèn dữ liệu vào trong bảng MySQL là:

INSERT INTO ten_bang[ten_truong_1, ten_truong_2, ... ten_truong_n]
       VALUES [gia_tri_1, gia_tri_2, ... gia_tri_n];

Bạn có thể không cần phải chỉ rõ tên cột trong truy vấn SQL nếu bạn đang thêm các giá trị cho tất cả các cột của bảng. Nhưng hãy chắc chắn thứ tự của các giá trị theo thứ tự như các cột trong bảng.

Cú pháp như sau:

INSERT INTO ten_bang VALUES [gia_tri_1, gia_tri_2, ... gia_tri_n];


Ví dụ chèn dữ liệu vào bảng trong MySQL

Ví dụ 1 insert dữ liệu vào bảng

Đoạn mã sau đây là một ví dụ, tạo ra một bảng CUSTOMERS với một ID như một khóa chính và NOT NULL là những ràng buộc cho thấy các trường này không thể là NULL trong khi tạo các bản ghi trong bảng này:

CREATE TABLE CUSTOMERS [
   ID   INT              NOT NULL,
   NAME VARCHAR [20]     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR [25],
   SALARY   DECIMAL [18, 2],
   PRIMARY KEY [ID]
];

Các câu lệnh sau sẽ tạo ra sáu bản ghi trong bảng CUSTOMERS:

INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [1, 'Ha Anh', 32, 'Da Nang', 2000.00 ];
INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [2, 'Van Ha', 25, 'Ha Noi', 1500.00 ];
INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [3, 'Vu Bang', 23, 'Vinh', 2000.00 ];
INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [4, 'Thu Minh', 25, 'Ha Noi', 6500.00 ];
INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [5, 'Hai An', 27, 'Ha Noi', 8500.00 ];
INSERT INTO CUSTOMERS [ID,NAME,AGE,ADDRESS,SALARY]
    VALUES [6, 'Hoang', 22, 'Ha Noi', 4500.00 ];

Bạn có thể tạo một bản ghi trong bảng CUSTOMERS bằng cách sử dụng cú pháp thứ hai như hình dưới đây.

INSERT INTO CUSTOMERS
    VALUES [7, 'Binh', 24, 'Ha Noi', 10000.00 ];

Tất cả các câu lệnh trên sẽ tạo ra các bản ghi sau trong bảng CUSTOMERS như hình dưới đây.

Kết quả:

Ví dụ 2 insert dữ liệu vào bảng với trường primary key tự động tăng

Sử dụng câu lệnh tạo bảng trong MySQL:

CREATE TABLE nhanvien [
    manv INT NOT NULL AUTO_INCREMENT,
    hoten VARCHAR[50] NOT NULL,
    ngaysinh DATETIME NULL,
    dienthoai VARCHAR[11] NULL,
    hsluong DECIMAL[3, 2],
    PRIMARY KEY [manv]
];

Dưới đây là ví dụ minh họa việc sử dụng lệnh INSERT INTO để chèn dữ liệu vào trong bảng nhanvien.

INSERT INTO nhanvien [hoten, ngaysinh, dienthoai, hsluong]
       VALUES ['Trịnh Bá Đạo', '1997-10-15 00:00:00', '0989898966', 1.2];
INSERT INTO nhanvien [hoten, ngaysinh, dienthoai, hsluong]
       VALUES ['Phan Văn Vinh', '1990-03-04 00:00:00', '0989898967', 1.8];
INSERT INTO nhanvien [hoten, ngaysinh, dienthoai, hsluong]
       VALUES ['Đào Van Hoa', '1990-03-05 00:00:00', '0989898968', 1.9];

Trong ví dụ trên, mình đã không cung cấp mssv bởi vì tại thời điểm tạo bảng này, mình đã cung cấp tùy chọn AUTO_INCREMENT cho trường này. Vì thế, MySQL sẽ xử lý việc chèn các mssv của nó một cách tự động.

Sử dụng câu lệnh SELECT để xem dữ liệu của bảng nhanvien:

Kết quả:

Câu lệnh INSERT INTO SELECT sao chép dữ liệu từ một bảng và chèn nó vào một bảng khác.

  • INSERT INTO SELECT yêu cầu các kiểu dữ liệu trong bảng nguồn và bảng đích phải khớp
  • Các bản ghi hiện có trong bảng đích không bị ảnh hưởng

CHÈN VÀO Cú pháp CHỌN

Sao chép tất cả các cột từ bảng này sang bảng khác:

INSERT INTO table2SELECT * FROM table1WHERE condition; INTO table2
SELECT * FROM table1
WHERE condition;

Chỉ sao chép một số cột từ một bảng sang một bảng khác:

INSERT INTO table2 [column1, column2, column3, ...]SELECT column1, column2, column3, ...FROM table1WHERE condition; INTO table2 [column1, column2, column3, ...]
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Cơ sở dữ liệu Demo

Trong hướng dẫn này, chúng tôi sẽ sử dụng cơ sở dữ liệu mẫu Northwind nổi tiếng.

Dưới đây là lựa chọn từ bảng "Khách hàng":

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

Antonio Moreno Taquería

Antonio Moreno Mataderos 2312 ContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin Germany Ana Trujillo Emparedados y helados
2 Ana Trujillo Avda. de la Constitución 2222 México D.F. Mexico 70117 Antonio Moreno Taquería
3 Antonio Moreno Mataderos 2312 Và lựa chọn từ bảng "Nhà cung cấp":SupplierID48104 Antonio Moreno Taquería

Antonio Moreno

Thí dụ

INSERT INTO Customers [CustomerName, City, Country]SELECT SupplierName, City, Country FROM Suppliers; INTO Customers [CustomerName, City, Country]
SELECT SupplierName, City, Country FROM Suppliers;

Câu lệnh SQL sau sao chép "Nhà cung cấp" thành "Khách hàng" [điền vào tất cả các cột]:

Thí dụ

INSERT INTO Customers [CustomerName, ContactName, Address, City, PostalCode, Country]SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers; INTO Customers [CustomerName, ContactName, Address, City, PostalCode, Country]
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

Câu lệnh SQL sau chỉ sao chép các nhà cung cấp của Đức vào "Khách hàng":

Thí dụ

INSERT INTO Customers [CustomerName, City, Country]SELECT SupplierName, City, Country FROM Suppliers INTO Customers [CustomerName, City, Country]
SELECT SupplierName, City, Country FROM Suppliers

================================== KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH: 📧 Mail: ☎️ Mobile: 0902912888 ⚡️ Skype: tranbinh48ca 👨 Facebook: //www.facebook.com/BinhOracleMaster 👨 Inbox Messenger: //m.me/101036604657441 [profile] 👨 Fanpage: //www.facebook.com/tranvanbinh.vn 👨 Inbox Fanpage: //m.me/tranvanbinh.vn 👨👩 Group FB: //www.facebook.com/groups/DBAVietNam 👨 Website: //www.tranvanbinh.vn 👨 Blogger: //tranvanbinhmaster.blogspot.com 🎬 Youtube: //bit.ly/ytb_binhoraclemaster 👨 Tiktok: //www.tiktok.com/@binhoraclemaster?lang=vi 👨 Linkin: //www.linkedin.com/in/binhoracle 👨 Twitter: //twitter.com/binhoracle 👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail:
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: //www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: //m.me/101036604657441 [profile]
👨 Fanpage: //www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: //m.me/tranvanbinh.vn
👨👩 Group FB: //www.facebook.com/groups/DBAVietNam
👨 Website: //www.tranvanbinh.vn
👨 Blogger: //tranvanbinhmaster.blogspot.com
🎬 Youtube: //bit.ly/ytb_binhoraclemaster
👨 Tiktok: //www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: //www.linkedin.com/in/binhoracle
👨 Twitter: //twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

#OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #tự học oracle

Chủ Đề