Làm cách nào để thêm một hàng vào bảng hiện có trong mysql?

2. Nếu bạn đang thêm giá trị cho tất cả các cột của bảng, bạn không cần chỉ định tên cột trong truy vấn SQL. Tuy nhiên, hãy đảm bảo thứ tự của các giá trị theo cùng thứ tự với các cột trong bảng. Ở đây, cú pháp INSERT INTO sẽ như sau

CHÈN VÀO tên_bảng
GIÁ TRỊ [giá trị1, giá trị2, giá trị3,. ];

Cơ sở dữ liệu demo

Dưới đây là một lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu của Northwind

ID khách hàng Tên khách hàng Tên liên hệĐịa chỉThành phốMã bưu chínhQuốc gia89Thị trường cỏ ba lá trắngKarl Jablonski305 - 14th Ave. S. Suite 3BSeattle98128USA90Wilman KalaMatti KarttunenKeskuskatu 45Helsinki21240Phần Lan91WolskiZbyszekul. Filtrowa 68Walla01-012Ba Lan92CardinalnullnullStavangernullNa Uy

Hướng dẫn MySQL này giải thích cách sử dụng câu lệnh MySQL ALTER TABLE để thêm cột, sửa đổi cột, loại bỏ cột, đổi tên cột hoặc đổi tên bảng [có cú pháp và ví dụ]

Sự miêu tả

Câu lệnh ALTER TABLE của MySQL được sử dụng để thêm, sửa đổi hoặc thả/xóa các cột trong bảng. Câu lệnh ALTER TABLE của MySQL cũng được sử dụng để đổi tên bảng

Thêm cột vào bảng

cú pháp

Cú pháp để thêm một cột trong bảng trong MySQL [sử dụng câu lệnh ALTER TABLE] là

ALTER TABLE table_name
  ADD new_column_name column_definition
    [ FIRST | AFTER column_name ];
table_nameTên của bảng cần sửa đổi. new_column_nameTên của cột mới để thêm vào bảng. column_definitionKiểu dữ liệu và định nghĩa của cột [NULL hoặc NOT NULL, v.v.]. ĐẦU TIÊN. SAU tên cột_tùy chọn. Nó cho MySQL biết vị trí trong bảng để tạo cột. Nếu không chỉ định tham số này, cột mới sẽ được thêm vào cuối bảng

Ví dụ

Hãy xem một ví dụ cho thấy cách thêm một cột trong bảng MySQL bằng cách sử dụng câu lệnh ALTER TABLE

Ví dụ

ALTER TABLE contacts
  ADD last_name varchar[40] NOT NULL
    AFTER contact_id;

Ví dụ MySQL ALTER TABLE này sẽ đổi tên cột có tên contact_type thành ctype. Cột sẽ được định nghĩa là cột varchar[20] NOT NULL

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';

Chủ Đề