Câu lệnh INSERT INTO
được dùng để chèn bản ghi mới vào một bảng.
Cú pháp của câu lệnh SQL INSERT INTO
Có thể viết câu lệnh INSERT INTO
thành hai dạng.
Dạng thứ nhất không chỉ định tên cột nơi dữ liệu sẽ được chèn, chỉ có giá trị của chúng:
INSERT INTO ten_bang
VALUES (gia_tri1,gia_tri2,gia_tri3,...);
Dạng thứ hai chỉ định cả tên cột và các giá trị được chèn vào:
INSERT INTO ten-bang (cot1,cot2,cot3,...)
VALUES (gia_tri1,gia_tri2,gia_tri3,...);
Cơ sở dữ liệu Demo
Trong bài này, chúng ta sẽ sử dụng cơ sở dữ liệu mẫu được nhiều người biết là Northwind.
Bên dưới là một lựa chọn từ bảng “Customers”:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
Ví dụ về INSERT INTO
Giả sử chúng ta muốn chèn một hàng mới trong bảng “Customers”.
Chúng ta có thể sử dụng câu lệnh SQL sau.
Ví dụ:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
Tên cột không có trong dấu nháy đơn, giá trị nằm trong dấu nháy đơn. Phân cách nhau bằng dấu phẩy.
Lựa chọn từ bảng “Customers” bây giờ sẽ trông giống như thế này:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | Tom B. Erichsen | Skagen 21 | Stavanger | 4006 | Norway |
Bạn có lưu ý là chúng ta không thể chèn bất cứ số nào vào trong trường CustomerID?
Cột CustomerID được tự động cập nhật với giá trị duy nhất cho mỗi bản ghi trong bảng.
Chỉ chèn dữ liệu vào trong các cột nhất định
Chúng ta có khả năng chỉ chèn dữ liệu trong các cột được chỉ định.
Theo SQL, câu lệnh sẽ chèn một hàng mới, nhưng chỉ dữ liệu trong các cột “CustomerName”, “City”, và “Country” là được chèn (dĩ nhiên trường CustomerID sẽ được cập nhật tự động).
Ví dụ:
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
Một lựa chọn từ bảng “Customer” sẽ trông giống như thế này:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | null | null | Stavanger | null | Norway |