Cách sử dụng CHỌN và chèn cùng nhau trong MySQL?

Khi cung cấp các giá trị dữ liệu được chèn vào bảng mới, cần xem xét 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 nháy đơn
  • Các 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
  • Các loại dữ liệu ngày tháng – đặt các giá trị ngày tháng trong dấu ngoặc đơn ở định dạng 'YYYY-MM-DD'


Ví dụ

Giả sử rằng chúng ta có danh sách các thành viên thư viện mới sau đây cần được thêm vào cơ sở dữ liệu

Họ và tên Ngày sinh Giới tính Địa chỉ vật lý Địa chỉ bưu điện Số liên hệ Địa chỉ emailLeonard Hofstadter NamWoodcrest 0845738767 Sheldon Cooper NamWoodcrest 0976736763 Rajesh Koothrappali Nam Fairview 0938867763 Leslie Winkle14/02/1984Nam 0987636553 South108/Male. O. Hộp 45630987786553lwolowitz@email. Tôi

Hãy INSERT từng dữ liệu một. Chúng tôi sẽ bắt đầu với Leonard Hofstadter. Chúng tôi sẽ coi số liên hệ là một loại dữ liệu số và không đặt số trong dấu nháy đơn

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);

Thực thi đoạn script 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à một giá trị số và số không (0) ở đầu sẽ bị loại bỏ vì nó không đáng kể

Để tránh những vấn đề như vậy, giá trị phải được đặt trong dấu nháy đơn như hình bên dưới –

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`)  VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');

Trong trường hợp trên, số không (0) sẽ không bị loại bỏ


Việc thay đổi thứ tự của 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 các cột chính xác

Truy vấn hiển thị bên dưới thể hiện đ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 các giá trị NULL vào các cột bị bỏ qua trong truy vấn INSERT

Bây giờ, hãy chèn bản ghi cho Leslie, có ngày sinh được cung cấp. Giá trị ngày phải được đặt trong dấu nháy đơ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 câu lệnh chèn MySQL. Nếu chúng tôi đang cung cấp giá trị cho TẤT CẢ các cột trong bảng, thì chúng tôi có thể bỏ qua các cột khỏi truy vấn chèn MySQL

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`;
tư cách thành viên_ sốđầy đủ_têngiới tínhngày_sinh_sinhthể chất_địa chỉbưu chính_địa chỉ liên hệ_sốemail1Janet JonesNữ21-07-1980Số 1 Phố Số 4Private Bag0759 253 542janetjones@yagoo. cm2 Janet Smith Jones Nữ 23-06-1980 Melrose 123NULLNULLjj@fstreet. com3Robert PhilMale12-07-19893Đường 34NULL12345rm@tstreet. com4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL6Sheldon CooperMaleNULLWoodcrestNULL0976736763NULL7Rajesh KoothrappaliMaleNULLWoodcrestNULL0938867763NULL8Leslie WinkleMale14-02-1984WoodcrestNULL0987636553NULL9Howard WolowitzMale24-08-1981SouthParkP. O. Hộp 45630987786553lwolowitz@email. Tôi

Lưu ý rằng số liên lạc của Leonard Hofstadter đã bỏ số không (0) khỏi số liên lạc. Các số liên lạc khác chưa bỏ số không (0) ở đầ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ư hình bên dưới

INSERT INTO table_1 SELECT * FROM table_2;

Bây giờ hãy xem một ví dụ thực tế. Chúng tôi sẽ tạo một bảng giả cho các thể loại phim cho mục đích trình diễn. Chúng tôi sẽ gọi bảng danh mục mới làcategory_archive. Kịch bản 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ờ 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. Kịch bản hiển thị bên dưới giúp chúng tôi đạt được điều đó

________số 8_______

Thực thi đoạn mã 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 sẽ phải giống nhau để tập lệnh hoạt động. 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 tên trong bảng chứa dữ liệu

Chúng ta có thể sử dụng chèn và chọn cùng nhau không?

Bạn có thể sử dụng câu lệnh chọn trong câu lệnh INSERT để chèn 0, một hoặc nhiều hàng vào bảng từ bảng kết quả của câu lệnh chọn . Câu lệnh chọn được nhúng trong câu lệnh INSERT không khác gì câu lệnh chọn mà bạn sử dụng để truy xuất dữ liệu.

Làm cách nào để chèn bằng cách chọn trong MySQL?

Câu lệnh INSERT INTO SELECT trong MySQL cho phép chúng ta chèn các giá trị vào bảng nơi dữ liệu đến từ truy vấn SELECT. .
CHÈN VÀO table_name2
CHỌN * TỪ tên_bảng1
điều kiện WHERE;

Làm cách nào để chèn từ nhiều hàng đã chọn trong MySQL?

Câu lệnh MySQL INSERT nhiều hàng . Đầu tiên, chỉ định tên của bảng mà bạn muốn chèn sau từ khóa INSERT INTO. Thứ hai, chỉ định danh sách cột được phân tách bằng dấu phẩy bên trong dấu ngoặc đơn sau tên bảng. Thứ ba, chỉ định danh sách dữ liệu hàng được phân tách bằng dấu phẩy trong mệnh đề GIÁ TRỊ.

Làm cách nào để chèn các giá trị đã chọn vào một bảng trong MySQL?

Theo cú pháp, .
Trước tiên, bạn phải chỉ định tên của bảng. Sau đó, trong ngoặc đơn, bạn phải chỉ định tên cột của bảng và các cột phải được phân tách bằng dấu phẩy
Các giá trị mà bạn muốn chèn phải nằm trong dấu ngoặc đơn và phải được theo sau bởi mệnh đề GIÁ TRỊ