Lược đồ quản trị viên MySQL

Trong bài viết trước của tôi, Tìm hiểu MySQL. Sắp xếp và lọc dữ liệu trong bảng, chúng ta đã học về sắp xếp và lọc dữ liệu bằng mệnh đề WHERE và ORDER BY

Câu lệnh chèn là câu lệnh DML [Ngôn ngữ sửa đổi dữ liệu] được sử dụng để chèn dữ liệu vào bảng MySQL. Sử dụng truy vấn Chèn, chúng ta có thể thêm một hoặc nhiều hàng trong bảng. Sau đây là cú pháp cơ bản của Câu lệnh INSERT trong MySQL

1

2

CHÈN VÀO [COLUMN_1, COLUMN_2,.. ]

VALUES [VALUE_1,VALUE_2,.. ]

Trong cú pháp,

  1. 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
  2. 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Ị

Nếu bạn muốn chèn nhiều hàng cùng lúc thì cú pháp hơi khác một chút. Trong từ khóa giá trị, bạn phải chỉ định danh sách các hàng được phân tách bằng dấu phẩy. Ở đây, mỗi phần tử được coi là một hàng. Tất cả các hàng phải được phân tách bằng dấu phẩy. Sau đây là cú pháp

1

2

3

4

5

CHÈN VÀO [COLUMN_1, COLUMN_2,.. ]

GIÁ TRỊ

[VALUE_1,VALUE_2,.. ],

[VALUE_3,VALUE_4,.. ],

[VALUE_5,VALUE_6,.. ]  

  • Ghi chú. Tại đây, hãy đảm bảo rằng số lượng cột phải khớp với số lượng giá trị. Bạn có thể loại trừ cột nhận dạng của bảng hoặc ràng buộc mặc định được chỉ định trên bất kỳ cột nào của bảng. Trong các bài viết sắp tới, tôi sẽ giải thích các ràng buộc mặc định và các cột nhận dạng

Để chứng minh việc sử dụng Câu lệnh INSERT, tôi đã tạo một bảng có tên là tblemployees trên cơ sở dữ liệu VSData. Dưới đây là định nghĩa của bảng tblemployees

1

2

3

4

5

6

7

8

9

10

tạo bảng tblEmployee

[

Employee_id int auto_increment khóa chính,

Employee_first_name varchar[500] NOT null,

Employee_last_name varchar[500] NOT null,

Employee_Address varchar[1000],

Employee_emailID varchar[500],

Employee_department_ID int default 9,

Ngày_ngày_tham_gia của nhân viên ngày

];

Hãy để tôi chỉ ra các trường hợp sử dụng khác nhau của truy vấn chèn. Trong bài viết này, tôi sẽ đề cập đến những điều sau đây

  1. Câu lệnh INSERT đơn giản để thêm dữ liệu vào bảng
  2. Sử dụng câu lệnh INSERT để thêm nhiều hàng trong bảng
  3. Mệnh đề INSERT INTO SELECT để chèn đầu ra được tạo bởi truy vấn SELECT
  4. INSERT IGNORE mệnh đề để bỏ qua lỗi được tạo ra trong quá trình thực hiện truy vấn

Ví dụ truy vấn INSERT đơn giản

Giả sử tôi muốn chèn họ và tên của nhân viên. Chạy truy vấn sau

1

CHÈN VÀO tblemployee [employee_first_name, employee_last_name] values ['Nisarg','Upadhyay']

Sau khi truy vấn được thực thi thành công, chúng ta hãy chạy truy vấn CHỌN để xác minh dữ liệu. Thực hiện truy vấn sau

1

chọn * từ tblEmployee;

Sau đây là ảnh chụp màn hình của đầu ra

Như bạn có thể thấy trong ảnh chụp màn hình đầu ra ở trên, hàng đã được chèn thành công và giá trị của các cột tương ứng cũng được chèn chính xác. Trong truy vấn INSERT, tôi đã chỉ định các giá trị của cột first_name và last_name, nhưng chúng tôi đã đặt giá trị mặc định cho cột department_id, vì vậy nếu chúng tôi không chỉ định giá trị của cột, nó sẽ chèn giá trị mặc định. Cột employee_id là auto_increment để nó tự động tăng

Chèn một ngày trong bảng

Giả sử bạn muốn chèn ngày gia nhập cụ thể cho một nhân viên. Ngày tham gia sẽ được chèn vào cột employee_joining_date. Truy vấn nên được viết như sau

1

CHÈN VÀO tblemployee [employee_first_name, employee_last_name, employee_joining_date] values ['Nisarg','Upadhyay','2020-06-26'];

Chạy truy vấn chọn để xác minh đầu ra

1

CHỌN * từ tblemployee

đầu ra

Như bạn có thể thấy, ngày tham gia được chèn chính xác. Bây giờ thay vì chỉ định ngày tham gia, chúng tôi muốn sử dụng ngày hiện tại. Trong trường hợp này, chúng ta có thể sử dụng hàm tích hợp có tên CURRENT_DATE[]. Hàm này lấy ngày của máy chủ. Nó giống như hàm getdate[] của SQL Server

Truy vấn nên được viết như sau

1

CHÈN VÀO tblemployee [employee_first_name, employee_last_name, employee_joining_date] values ['Nirali','Upadhyay',current_date[]];

Chạy truy vấn CHỌN

1

CHỌN * từ tblemployee;

Dưới đây là đầu ra

Như bạn có thể thấy, ngày tham gia của ID nhân viên là ngày hiện tại

Chèn nhiều hàng vào bảng

Chúng tôi muốn chèn chi tiết của hai nhân viên trong bảng tblemployee. Để làm điều đó, hãy thực hiện truy vấn sau

1

CHÈN VÀO tblemployee [employee_first_name, employee_last_name, employee_joining_date] values ['Dixit','Upadhyay',current_date[]],['Bharti','Upadhyay',current_date[]]  ;

Khi các hàng được chèn vào, hãy thực hiện câu lệnh SELECT để xác minh đầu ra

1

Chọn * từ tblemployee;

Sau đây là đầu ra

  • Ghi chú. Trong MySQL có một tham số cấu hình tên là max_allowed_packat_size để giới hạn kích thước của gói tin. Kích thước gói tối đa trong MySQL 8. 0 máy chủ và máy khách là 1GB

Nếu bạn đang chèn nhiều hàng và kích thước của truy vấn INSERT cao hơn giá trị được định cấu hình trong max_allowed_packat_size, thì truy vấn sẽ báo lỗi ER_NET_PACKET_TOO_LARGE và đóng kết nối. Bạn có thể xem giá trị của tham số bằng cách thực hiện lệnh sau

1

HIỂN THỊ BIẾN THÍCH 'max_allowed_packet'; SHOW CREATE VIEW sys.

Chủ Đề