MySQL INSERT INTO Query: Cách thêm hàng vào bảng (Ví dụ)
CHÈN VÀO là gì?
CHÈN VÀO dùng để lưu trữ dữ liệu trong 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.
- Kiểu dữ liệu số - tất cả các giá trị số phải được cung cấp trực tiếp mà không đặt chúng trong dấu ngoặc đơn hoặc dấu 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'.
Ví dụ:
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 | Hội chợ | 0938867763 | |||
Leslie Winkle | 14/02/1984 | Nam | 0987636553 | |||
Howard Wolowitz | 24/08/1981 | Nam | South Park | PO Box 4563 | 0987786553 | lwolowitz@email.me |
Hãy INSERT từng dữ liệu một. Chúng ta sẽ bắt đầu với Leonard Hofstadter. Chúng tôi sẽ coi số liên hệ 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. Điều này là do giá trị sẽ được coi là giá trị số và số 0 (XNUMX) ở đầu sẽ bị loại bỏ vì nó không có ý nghĩa.
Để tránh những vấn đề như vậy, giá trị phải được đặt trong dấu ngoặc đơn như dưới đây –
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
Trong trường hợp trên, số 0 (XNUMX) sẽ không bị loại bỏ
Việc thay đổi thứ tự các cột không ảnh hưởng đến truy vấn INSERT trong MySQL miễn là các giá trị chính xác đã được ánh xạ tới đúng cột.
Truy vấn hiển thị dưới đây thể hiện quan điểm trên.
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 sẽ 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, có cung cấp ngày sinh. Giá trị ngày phải được đặt trong dấu ngoặc đơn sử dụng đị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');
Tất cả các truy vấn trên đã chỉ định các cột và ánh xạ chúng tới các giá trị trong MySQL chèn tuyên bố. Nếu chúng ta đang cung cấp giá trị cho TẤT CẢ các cột trong bảng thì chúng ta có thể bỏ qua các cột trong bảng. MySQL chèn truy vấn.
Thí dụ:-
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]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 của 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 |
Lưu ý rằng số liên lạc của Leonard Hofstadter đã bỏ số 0 (0) khỏi số liên lạc. Các số liên hệ khác không bỏ số XNUMX (XNUMX) ở đầu.
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 hãy xem một ví dụ thực tế. Chúng ta sẽ tạo một bảng giả cho các danh mục phim để minh họa. Chúng ta sẽ gọi bảng danh mục mới là categories_archive. Đoạn mã được hiển thị 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`))
Thực thi đoạn script trên để tạo bảng.
Bây giờ chúng ta hãy chèn tất cả các hàng từ bảng danh mục vào bảng lưu trữ danh mục. Đoạn mã được hiển thị bên dưới giúp chúng ta thực hiện điều đó.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Thực thi tập lệnh trên sẽ chèn tất cả các hàng từ bảng danh mục vào bảng lưu trữ danh mục. Lưu ý rằng cấu trúc bảng phải giống nhau để tập lệnh hoạt động. Một tập lệnh mạnh mẽ hơn là tập lệnh ánh xạ tên cột trong bảng chèn vào các tên trong bảng chứa dữ liệu.
Truy vấn hiển thị bên dưới thể hiện cách sử dụng của nó.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Thực hiện truy vấn SELECT
SELECT * FROM `categories_archive`
cho kết quả như hình dưới đây.
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.
Hàm chèn vào bảng trong SQL có thể được sử dụng để thực hiện các kiểu truy vấn sau:
- Chèn
- Chọn
- Cập nhật
- xóa
Cú pháp của nó như sau.
mysqli_query($db_handle,$query);
ĐÂY,
“mysqli_query(…)” là hàm thực thi các truy vấn SQL.
“$query” là truy vấn SQL được thực thi
“$link_identifier” là tùy chọn, nó có thể được sử dụng để chuyển vào liên kết kết nối máy chủ
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); } }
Tổng kết
- Lệnh INSERT được sử dụng để thêm dữ liệu mới vào bảng. MySql sẽ thêm một hàng mới sau khi lệnh được thực thi.
- Các giá trị ngày và chuỗi phải được đặt trong dấu ngoặc đơn.
- Các giá trị số không cần phải đặt trong dấu ngoặc kép.
- Lệnh INSERT cũng có thể được sử dụng để chèn dữ liệu từ bảng này sang bảng khác.