MySQL INSERT INTO Query: Cách thêm hàng vào bảng (Ví dụ)
⚡ Tóm tắt thông minh
MySQL Lệnh INSERT INTO thêm các hàng mới vào bảng, bằng cách chỉ định rõ ràng các cột đích hoặc bằng cách cung cấp giá trị cho từng cột. Việc trích dẫn chính xác các chuỗi, số và ngày tháng sẽ quyết định liệu dữ liệu được lưu trữ có còn nguyên vẹn hay không.

CHÈN VÀO là gì?
CHÈN VÀO Lệnh INSERT được sử dụng để lưu trữ dữ liệu trong các bảng. Lệnh INSERT tạo một hàng mới trong bảng để lưu trữ dữ liệu. Dữ liệu thường được cung cấp bởi các chương trình ứng dụng chạy trên cơ sở dữ liệu.
Cú pháp cơ bản
Hãy xem cú pháp cơ bản của INSERT INTO MySQL chỉ huy:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
tại ĐÂY
- INSERT INTO `table_name` là lệnh cho biết MySQL máy chủ để thêm một hàng mới vào bảng có tên `table_name.`
- (column_1,column_2,…) chỉ định các cột sẽ được cập nhật trong cột mới MySQL hàng
- VALUES (value_1,value_2,…) chỉ định các giá trị được thêm vào hàng mới
Khi cung cấp các giá trị dữ liệu để chèn vào bảng mới, cần lưu ý những điều sau:
- Kiểu dữ liệu chuỗi – tất cả các giá trị chuỗi phải được đặt trong dấu ngoặc đơn.
- Các kiểu dữ liệu số – tất cả các giá trị số nên được cung cấp trực tiếp mà không cần đặt trong dấu ngoặc đơn hoặc ngoặc kép.
- Kiểu dữ liệu ngày – đặt các giá trị ngày trong dấu ngoặc đơn ở định dạng 'YYYY-MM-DD'.
Chèn nhiều hàng cùng lúc
Một câu lệnh INSERT duy nhất có thể chứa nhiều hàng. Hãy phân tách mỗi nhóm giá trị bằng dấu phẩy. Một câu lệnh nhanh hơn nhiều câu lệnh khác nhau, vì chỉ mục được cập nhật một lần.
INSERT INTO `categories`(`category_name`,`remarks`) VALUES ('Documentary', 'Factual films'), ('Musical', 'Song driven films');
MySQL Ví dụ truy vấn INSERT INTO
Giả sử chúng ta có danh sách các thành viên thư viện mới cần được thêm vào cơ sở dữ liệu như sau.
| Tên đầy đủ | Ngày sinh | giới | Địa chỉ vật lý | địa chỉ bưu điện | Số liên lạc | |
|---|---|---|---|---|---|---|
| Leonard Hofstadter | Nam | Tựa gỗ | 0845738767 | |||
| Sheldon Cooper | Nam | Tựa gỗ | 0976736763 | |||
| Rajesh Koothrappali | Nam | Tựa gỗ | 0938867763 | |||
| Leslie Winkle | 14/02/1984 | Nam | Tựa gỗ | 0987636553 | ||
| Howard Wolowitz | 24/08/1981 | Nam | Công viên Phía Nam | PO Box 4563 | 0987786553 | lwolowitz@email.me |
Chúng ta hãy chèn dữ liệu từng hàng một, bắt đầu với Leonard Hofstadter. Chúng ta sẽ coi số điện thoại liên lạc là kiểu dữ liệu số và không đặt số đó trong dấu ngoặc đơn.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
Việc thực thi đoạn mã trên sẽ loại bỏ số 0 khỏi số liên lạc của Leonard, vì giá trị này được coi là dạng số và số 0 đứng đầu không có ý nghĩa gì.
Để tránh những vấn đề như vậy, giá trị phải được đặt trong dấu ngoặc đơn như hình bên dưới.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
⚠️ Mẹo: Lưu trữ số điện thoại, mã bưu chính và các thông tin nhận dạng tương tự trong cột văn bản như VARCHAR. Cột số không thể có số 0 đứng đầu.
Thay đổi thứ tự cột
Việc thay đổi thứ tự các cột không ảnh hưởng đến truy vấn INSERT trong MySQLMiễn là các giá trị chính xác đã được ánh xạ đến các cột chính xác. Câu truy vấn dưới đây minh họa điểm này.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Các truy vấn trên đã bỏ qua cột ngày sinh. Theo mặc định, MySQL Chèn giá trị NULL vào các cột bị bỏ qua trong truy vấn INSERT.
Bây giờ chúng ta hãy chèn bản ghi cho Leslie, trong đó có ngày sinh đã được cung cấp. Giá trị ngày tháng phải được đặt trong dấu ngoặc đơn theo định dạng 'YYYY-MM-DD'.
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
Bỏ qua danh sách cột
Tất cả các truy vấn trên đều đặt tên cho các cột và ánh xạ chúng đến các giá trị. Nếu chúng ta cung cấp giá trị cho TẤT CẢ các cột trong bảng, danh sách cột có thể được bỏ qua. MySQL chèn truy vấn.
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');
Bây giờ chúng ta hãy sử dụng Câu lệnh SELECT Để xem tất cả các hàng trong bảng thành viên.
SELECT * FROM `members`;
| số thành viên_ | tên đầy đủ | giới | ngày sinh | địa chỉ vật lý | địa chỉ bưu điện | số liên lạc_ | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Nữ | 21-07-1980 | Lô đất đường số 4 số XNUMX | Túi riêng | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Nữ | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Nam | 12-07-1989 | Đường số 3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Nữ | 14-02-1984 | Đường số 2 23 | NULL | NULL | NULL |
| 5 | Leonard Hofstadter | Nam | NULL | Tựa gỗ | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Nam | NULL | Tựa gỗ | NULL | 0976736763 | NULL |
| 7 | Rajesh Koothrappali | Nam | NULL | Tựa gỗ | NULL | 0938867763 | NULL |
| 8 | Leslie Winkle | Nam | 14-02-1984 | Tựa gỗ | NULL | 0987636553 | NULL |
| 9 | Howard Wolowitz | Nam | 24-08-1981 | Công viên Phía Nam | PO Box 4563 | 0987786553 | lwolowitz@email.me |
Hãy lưu ý rằng số điện thoại liên lạc của Leonard Hofstadter đã bỏ đi số 0 đứng đầu, đúng như dự đoán. Các số được trích dẫn vẫn giữ nguyên số 0 đó.
Chèn vào một bảng từ một bảng khác
Lệnh INSERT cũng có thể được sử dụng để chèn dữ liệu vào một bảng từ một bảng khác. Cú pháp cơ bản như dưới đây.
INSERT INTO table_1 SELECT * FROM table_2;
Bây giờ chúng ta sẽ tạo một bảng giả cho các danh mục phim, có tên là categories_archive. Đoạn mã bên dưới tạo bảng.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Chạy đoạn mã trên để tạo bảng. Bây giờ, hãy chèn tất cả các hàng từ bảng categories vào bảng categories archive.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Cấu trúc bảng phải giống nhau thì đoạn mã đó mới hoạt động. Một đoạn mã mạnh mẽ hơn sẽ ánh xạ tên cột trong bảng đích với tên cột trong bảng chứa dữ liệu, như minh họa bên dưới.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Việc thực thi truy vấn SELECT bên dưới sẽ cho ra các kết quả sau.
SELECT * FROM `categories_archive`;
| Thể loại ID | CATEGORY_NAME | nhận xét |
|---|---|---|
| 1 | Phim hài | Phim có tính hài hước |
| 2 | Romantic | Câu chuyện tình yêu |
| 3 | Epic | Phim cổ tích |
| 4 | Kinh dị | NULL |
| 5 | Khoa học giả tưởng | NULL |
| 6 | Thriller | NULL |
| 7 | Hoạt động | NULL |
| 8 | Hài kịch lãng mạn | NULL |
| 9 | Phim hoạt hình | NULL |
| 10 | Phim hoạt hình | NULL |
Ví dụ PHP: Chèn vào MySQL Bàn
Hàm mysqli_query được sử dụng để thực thi SQL Truy vấn từ PHP. Nó thực thi các câu lệnh INSERT, SELECT, UPDATE và DELETE một cách đồng đều, và có cú pháp như sau.
mysqli_query($db_handle,$query);
ĐÂY,
- “mysqli_query(…)” là hàm thực thi các truy vấn SQL.
- “$query” là câu lệnh SQL cần được thực thi.
- “$db_handle” là liên kết kết nối máy chủ được trả về bởi mysqli_connect.
Ví dụ
$servername = "localhost"; $username = "alex"; $password = "yPXuPT"; $dbname = "afmznf"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully" . '<br>'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }
