Câu lệnh SQL INSERT INTO
Câu lệnhINSERT INTO
dùng để thêm 1 dòng (record) mới vào trong 1 table.
Cú pháp INSERT INTO
Chúng ta có thể sử dụng câu lệnh INSERT INTO
với 2 cách sau:
Cách 1: INSERT dữ liệu tương ứng với toàn bộ các cột có trong table. Còn gọi là INSERT (không tường minh)
Cú pháp như sau:
INSERT INTO table_name VALUES (value1, value2, value3, ...);
Lưu ý:
- Do không chỉ định các cột (column) cụ thể => nên giá trị truyền vào trong từ khóa VALUES cần đúng theo thứ tự của cấu trúc table cần insert.
Tuy nhiên cách này không khuyến khích sử dụng trong dự án thực tế, do khả năng thêm/xóa cột trong table có thể xảy ra bất kỳ lúc nào. Điều này có thể dẫn đến câu lệnh INSERT sẽ không còn chạy đúng hoặc phát sinh ra lỗi do thiếu cột...
Cách 2: INSERT dữ liệu tương ứng với một số cột cụ thể trong table. Còn gọi là INSERT tường minh
Cú pháp như sau:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Ví dụ 1: Thêm 1 dòng dữ liệu (record) vào bảng (table) Nhà cung cấp shop_suppliers
theo cách Tường minh (chỉ định số cột cần INSERT cụ thể)
- Dữ liệu mong muốn:
shop_suppliers
:
id | supplier_code | supplier_name | description | image | created_at | updated_at |
13 | SUP13 | VinPhone | Điện thoại VinPhone | suppliers/vinphone.jpg | 2020-08-08 12:45:00 | NULL |
- Lưu đồ Thêm dữ liệu
Step 1: Chuẩn bị câu lệnh INSERT query
- Lưu đồ xử lý việc INSERT dữ liệu
- Câu lệnh INSERT query:
-- INSERT dữ liệu vào table `shop_suppliers` (cách tường minh) -- Lưu ý: -- 1. nếu muốn truyền dữ liệu là chuỗi UNICODE (tức là có gõ dấu tiếng Việt) -- chúng ta phải sử dụng tiền tố N trước chuỗi giá trị cần truyền -- Ví dụ: N'Điện thoại BPhone' -- 2. Đối với dữ liệu ngày tháng, MYSQL nhận vào chuỗi theo định dạng sau YYYY-MM-DD HH:mm:ss -- tức là Năm(4 số)-Tháng-Ngày Giờ:Phút:Giây INSERT INTO shop_suppliers(id, supplier_code, supplier_name, description, image, created_at, updated_at) VALUES (13, 'SUP13', 'VinPhone', N'Điện thoại VinPhone', 'suppliers/vinphone.jpg', '2020-08-08 12:45:00', NULL)
Step 2: thực thi (Execute) câu lệnh SQL query trong HeidiSQL
Ví dụ 2: thêm 1 dòng dữ liệu vào table shop_categories
theo cách không Tường minh (không chỉ định column cụ thể)
INSERT dữ liệu sau vào table Nhà cung cấp shop_categories
:
category_code | category_name | description | image | created_at | updated_at |
CAT5 | Computer | Các sản phẩm về Máy vi tính | categories/computer.jpg | 2020-08-15 00:04:16 | NULL |
Thực thi câu lệnh sau:
-- INSERT dữ liệu vào table `shop_categories` (cách không tường minh) -- Lưu ý: -- 1. nếu muốn truyền dữ liệu là chuỗi UNICODE (tức là có gõ dấu tiếng Việt) -- chúng ta phải sử dụng tiền tố N trước chuỗi giá trị cần truyền -- Ví dụ: N'Điện thoại BPhone' -- 2. Đối với dữ liệu ngày tháng, MYSQL nhận vào chuỗi theo định dạng sau YYYY-MM-DD HH:mm:ss -- tức là Năm(4 số)-Tháng-Ngày Giờ:Phút:Giây INSERT INTO shop_categories VALUES (5, 'CAT5', 'Computer', N'Các sản phẩm về Máy vi tính', 'categories/computer.jpg', NOW(), NULL);
Chương trình học
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
Bài học trước Bài học tiếp theo