INSERT INTO - cú pháp thêm dữ liệu
Câu lệnh INSERT INTO được sử dụng để thêm các bản ghi mới vào một bảng cơ sở dữ liệu.
Trong SQL, về cơ bản có hai cách để CHÈN dữ liệu vào bảng: Một là chèn từng hàng một, hai là chèn nhiều hàng cùng một lúc. Trong phần này, chúng ta sẽ xem xét trường hợp đầu tiên.
Syntax
Cú pháp để chèn dữ liệu vào bảng một hàng tại một thời điểm như sau:
VALUES ("value1", "value2", ...);
Các ví dụ
Các ví dụ đề cập đến một bảng có cấu trúc sau,
Table Store_Information
Column Name | Data Type |
Store_Name | char(50) |
Manager_ID | integer |
Sales | float |
Txn_Date | datetime |
Ví dụ 1: Tất cả các tên cột đều được chỉ định
Chúng tôi muốn chèn một hàng bổ sung vào bảng đại diện cho dữ liệu bán hàng cho Los Angeles vào ngày 10 tháng 1 năm 1999. Vào ngày đó, cửa hàng này có doanh thu 900 đô la và Manager_ID cho cửa hàng này là 10. Chúng tôi sẽ sử dụng tập lệnh SQL sau:
VALUES ('Los Angeles', 10, 900, 'Jan-10-1999');
Bây giờ bảng sẽ chứa dữ liệu sau:
Table Store_Information
Store_Name | Manager_ID | Sales | Txn_Date |
Los Angeles | 10 | 900 | Jan-10-1999 |
Xin lưu ý rằng chúng tôi có thể chỉ định tên cột theo bất kỳ thứ tự nào - thứ tự không nhất thiết phải giống thứ tự của bảng. Ví dụ: câu lệnh SQL sau đây tương đương với câu lệnh SQL ở trên:
VALUES (900, 'Los Angeles', 10, 'Jan-10-1999');
Ví dụ 2: Không có tên cột nào được chỉ định
Nếu chúng ta bỏ tên cột trong câu lệnh INSERT INTO , chúng ta sẽ cần đảm bảo rằng dữ liệu được chèn theo cùng một thứ tự cột như trong bảng. Ví dụ,
VALUES ('Los Angeles', 10, 900, 'Jan-10-1999');
sẽ cung cấp cho chúng tôi kết quả mong muốn, trong khi
VALUES (900, 'Los Angeles', 10, 'Jan-10-1999');
sẽ dẫn đến Store_Name được đặt thành 900, Manager_ID được đặt thành 'Los Angeles' và Bán hàng được đặt thành 10. Rõ ràng đây không phải là điều chúng tôi dự định thực hiện.
Ví dụ 3: Một số tên cột được chỉ định
Trong hai ví dụ đầu tiên, chúng tôi chèn một giá trị cho mọi cột trong bảng. Đôi khi, chúng tôi có thể quyết định chèn giá trị vào một số cột và để trống phần còn lại của các cột. Đối với những trường hợp đó, chúng tôi chỉ cần chỉ định tên cột mà chúng tôi muốn chèn giá trị vào trong câu lệnh SQL của chúng tôi. Dưới đây là một ví dụ:
VALUES ('New York', 500, 'Jan-10-1999');
Now the table becomes:
Table Store_Information
Store_Name | Manager_ID | Sales | Txn_Date |
Los Angeles | 10 | 900 | Jan-10-1999 |
New York | 500 | Jan-10-1999 |
Trong trường hợp này, giá trị cho cột Manager_ID ở hàng thứ hai là NULL . NULL có nghĩa là dữ liệu không tồn tại và chúng ta sẽ thảo luận về khái niệm NULL ở phần sau của hướng dẫn này.
Bài tập
1. Giả sử chúng ta bắt đầu với bảng Store_Information được hiển thị ở trên. Bảng trông như thế nào sau khi câu lệnh SQL sau được thực thi?
INSERT INTO Store_Information VALUES ('San Jose', 25,700, 'Jan-10-1999');
2. Continuing with Question 1. What does the table look like after the following SQL statement is executed?
INSERT INTO Store_Information (Manager_ID, Txn_Date, Sales) VALUES (10,600, 'Jan-11-1999');
3. Sử dụng bảng tương tự như trên. Bảng trông như thế nào sau khi câu lệnh SQL sau được thực thi?
INSERT INTO Store_Information ('Portland', 30,650, 'Jan-11-1999');
Xem thêm:
- DELETE FROM - Xóa dòng trong SQL
- UPDATE - cú pháp cập nhật dữ liệu
- INSERT INTO SELECT - Insert dữ liệu từ câu lệnh select
- SELECT UNIQUE - Select loại bỏ trùng
- SQL AS - Gán bí danh cho bảng
- SQL HAVING - Lọc kết quả theo group by