sách gpt4 ăn đã đi

Cách triển khai chèn dữ liệu trong MySQL

In lại Tác giả: Tôi là chú chim nhỏ Thời gian cập nhật: 2023-02-07 14:31:20 26 4
mua khóa gpt4 giày nike

Khi sử dụng MySQL để chèn dữ liệu, bạn có thể chọn câu lệnh chèn phù hợp theo kịch bản nhu cầu, chẳng hạn như cách chèn dữ liệu khi dữ liệu lặp lại, cách nhập dữ liệu từ bảng khác, cách chèn dữ liệu theo đợt, v.v. Bài viết này giải thích quy trình triển khai và phương pháp chèn dữ liệu bằng cách đưa ra các ví dụ trong từng tình huống sử dụng.

1. Phân loại phương pháp

Chèn phân loại phương pháp câu lệnh

2.Phương pháp cụ thể

kịch bản sử dụng tác dụng tuyên bố Để ý
chèn thường xuyên
Bỏ qua tên trường
chèn vào các giá trị tên bảng (giá trị 1, giá trị 2,..., giá trị n) Các giá trị trong giá trị mặc định sẽ điền vào tất cả các từ theo trình tự. Nếu xảy ra xung đột về tính duy nhất, một ngoại lệ sẽ được đưa ra.
Chèn theo trường
chèn vào tên bảng (trường 1, trường 2,..., trường n) các giá trị (giá trị 1, giá trị 2,..., giá trị n) Sự tương ứng một-một giữa các trường và giá trị
Chèn nhiều phần dữ liệu cùng một lúc
chèn vào tên bảng (field 1, field 2,..., field n) các giá trị (value a1, value a2,..., value an), (value b1, value b2,..., value bn) Phân tách nhiều dòng bằng dấu phẩy, do đó không cần phải viết lại câu lệnh chèn vào.
Nhập từ bảng khác Xuất một số dữ liệu từ bảng A và chèn nó vào bảng B chèn vào tên bảng B (trường B1, trường B2,..., trường Bn) chọn trường A1, trường A2,..., trường An từ tên bảng A trong đó [điều kiện thực hiện] Trường A và B có thể có tên trường khác nhau nhưng kiểu dữ liệu phải nhất quán.
Dữ liệu trùng lặp khi chèn
Nếu có sai sót trong hồ sơ
chèn vào tên bảng (trường 1, trường 2,..., trường n) các giá trị (giá trị 1, giá trị 2,..., giá trị n) Nếu bản ghi dữ liệu được chèn tồn tại, một lỗi sẽ được báo cáo và ngoại lệ sẽ bị bắt. Nếu nó không tồn tại, bản ghi sẽ được thêm trực tiếp.
Không chèn bản ghi nếu nó tồn tại
chèn các giá trị bỏ qua vào tên bảng (trường 1, trường 2,..., trường n) (giá trị 1, giá trị 2,..., giá trị n) Nếu bản ghi dữ liệu được chèn tồn tại, bản ghi cũ sẽ được lưu và bản ghi mới sẽ bị bỏ qua. Nếu nó không tồn tại, bản ghi mới sẽ được thêm trực tiếp.
Chèn bản ghi bất kể chúng có tồn tại hay không
thay thế các giá trị tên bảng (trường 1, trường 2,..., trường n) (giá trị 1, giá trị 2,..., giá trị n) Nếu bản ghi dữ liệu được chèn tồn tại, hãy xóa nó trước rồi cập nhật nó. Nếu nó không tồn tại, hãy thêm bản ghi trực tiếp.
Nếu bản ghi tồn tại, hãy cập nhật trường được chỉ định
chèn vào … trên bản cập nhật khóa trùng lặp Nếu bản ghi dữ liệu được chèn tồn tại, hãy cập nhật trường được chỉ định. Nếu nó không tồn tại, hãy thêm bản ghi trực tiếp.

3. Ví dụ

bảng sinh viên (id đại diện cho khóa chính, tên là tên và điểm là điểm trung bình).

nhận dạng tên điểm
1 Lý Minh 67

(1) Chèn thông thường

  • Bỏ qua tên trường
                        
                          chèn vào các giá trị của sinh viên(null, 'Zhang San', '74');

                        
                      

Kết quả sau khi thực hiện.

nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
  • Chèn theo trường
                        
                          chèn vào giá trị của học sinh(tên)('孙华');

                        
                      

Kết quả sau khi thực hiện.

nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
3 Tôn Hoa
  • Chèn nhiều phần dữ liệu cùng một lúc
                        
                          chèn vào các giá trị của học sinh(tên, điểm)('Liu Ping', '56'),('Zhou Yu', '90');

                        
                      

Kết quả sau khi thực hiện.

nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
3 Tôn Hoa
4 Lưu Bình 56
5 Chu Du 90

(2) Nhập từ bảng khác

bảng sinh viên (id đại diện cho khóa chính, tên là tên và điểm là điểm trung bình).

nhận dạng tên người dùng số_điện_thoại_di_động
1 Mã Hóa Đằng 13800000000
2 Nhậm Chính Phi 13800000011
3 Jack Ma 13800000022
  • Xuất một số dữ liệu từ bảng người dùng và chèn nó vào bảng sinh viên
                        
                          chèn vào học sinh(tên,điểm) chọn tên người dùng, số điện thoại di động từ những người dùng có id <> 3;

                        
                      

Kết quả thực hiện.

nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
3 Tôn Hoa
4 Lưu Bình 56
5 Chu Du 90
6 Mã Hóa Đằng 13800000000
7 Jack Ma 13800000022

Lưu ý: Miễn là các trường tương ứng có cùng loại, dữ liệu có thể được nhập ngay cả khi các trường khác nhau mà không bị xung đột.

(3) Sao chép dữ liệu trong quá trình chèn

  • Nếu có sai sót trong hồ sơ
                        
                          chèn vào giá trị của sinh viên(1, 'Zhang San', '74');

                        
                      

Kết quả thực hiện: báo lỗi.

                        
                          Mục nhập trùng lặp '1' cho khóa 'PRIMARY'

                        
                      
  • Không chèn bản ghi nếu nó tồn tại
                        
                          chèn bỏ qua vào giá trị của học sinh (id, tên, điểm) (1, '张三', '74');

                        
                      

Kết quả thực hiện: Không chèn và không có lỗi.

                        
                          Hàng bị ảnh hưởng: 0

                        
                      
nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
3 Tôn Hoa
4 Lưu Bình 56
5 Chu Du 90
6 Mã Hóa Đằng 13800000000
7 Jack Ma 13800000022
  • Chèn bản ghi bất kể chúng có tồn tại hay không
                        
                          thay thế giá trị của sinh viên(1, 'Zhang San', '74');

                        
                      

Kết quả thực hiện.

nhận dạng tên điểm
1 Trương Tam 74
2 Trương Tam 74
3 Tôn Hoa
4 Lưu Bình 56
5 Chu Du 90
6 Mã Hóa Đằng 13800000000
7 Jack Ma 13800000022
  • Nếu bản ghi tồn tại, hãy cập nhật trường được chỉ định
                        
                          chèn vào giá trị (1) của học sinh trên khóa trùng lặp cập nhật tên = '李明', điểm = '67';

                        
                      

Kết quả thực hiện.

nhận dạng tên điểm
1 Lý Minh 67
2 Trương Tam 74
3 Tôn Hoa
4 Lưu Bình 56
5 Chu Du 90
6 Mã Hóa Đằng 13800000000
7 Jack Ma 13800000022

Code tạo bảng sinh viên.

                        
                          -- ---------------------------- -- Cấu trúc bảng cho sinh viên -- ---------------------------- DROP TABLE IF EXISTS `students`; CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生id', `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名', `score` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '成绩', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Hồ sơ học sinh -- ---------------------------- INSERT INTO `students` VALUES (1, '李明', '67');

                        
                      

Mã để tạo bảng người dùng.

                        
                          -- ---------------------------- -- Cấu trúc bảng cho sinh viên -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( ​​`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Người dùng id', `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Người dùng', `mobile_phone_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Người dùng', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Hồ sơ của học sinh -- ---------------------------- CHÈN VÀO GIÁ TRỊ `người dùng` (1, '马化腾', '13800000000'); CHÈN VÀO GIÁ TRỊ `người dùng` (2, '任正非', '13800000011'); CHÈN VÀO GIÁ TRỊ `người dùng` (3, '马云', '13800000022');

                        
                      

4. Những điều cần lưu ý

(1) Không ghi tên trường, bạn cần điền ID tăng tự động
  • [Sử dụng]: 0 hoặc null hoặc mặc định, ID tăng tự động bắt đầu từ 1 theo mặc định.
  • [Sử dụng]: Hoặc số (không lặp lại) không xuất hiện trong ID tăng tự động (chẳng hạn như -1, -2), dữ liệu dấu phẩy động như 3,4 và cuối cùng hiển thị 3, sẽ được làm tròn. Ngay cả khi loại int được xác định, việc nhập '3' hoặc loại dấu phẩy động sẽ buộc phải nhập int, nhưng nhập 'a' sẽ dẫn đến lỗi. Chi tiết cụ thể có thể được tìm thấy trong mã nguồn.

Câu hỏi: Tại sao ID trường đầu tiên có thể rỗng? Nếu id được viết dưới dạng id tăng tự động khi tạo bảng và số 0, null, mặc định hoặc số (không lặp lại) không xuất hiện trong id tăng tự động (chẳng hạn như -1, -2), thì hệ thống sẽ tự động điền id. Nếu bảng được tạo mà không chỉ định ID tăng tự động thì khóa chính không được để trống. Nếu bạn viết null vào thời điểm này, sẽ có thông báo lỗi.

(2) Điền theo tên trường, không cần nhập ID
  • [Lưu ý]: Các trường phải tương ứng với các giá trị 1-1.
Các ghi chú khác:
  • Tên trường có thể được bỏ qua và tất cả các cột sẽ được mặc định;
  • Loại giá trị đầu vào và loại trường phải nhất quán hoặc tương thích;
  • Số lượng trường và giá trị phải nhất quán. Không thể xảy ra tình trạng một hàng ghi 5 giá trị và một hàng khác ghi 6 giá trị;
  • Nếu một trường được ghi, ngay cả khi nó có giá trị null, nó không thể để trống và phải được thay thế bằng null;

Cuối cùng, bài viết về cách MySQL triển khai chèn dữ liệu kết thúc ở đây. Nếu bạn muốn biết thêm về cách MySQL triển khai chèn dữ liệu, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

26 4 0
tôi là một con chim nhỏ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress