Đôi khi tên cột của chúng ta không có nghĩa nên buộc phải đổi tên hoặc đổi tên cột. MySQL cung cấp một cú pháp hữu ích có thể đổi tên một hoặc nhiều cột trong bảng. Một vài đặc quyền là cần thiết trước khi đổi tên cột, chẳng hạn như đặc quyền câu lệnh ALTER và DROP Show
MySQL có thể đổi tên tên cột theo hai cách
Sử dụng Tuyên bố CHANGESau đây là cú pháp minh họa việc đổi tên cột bằng câu lệnh CHANGE Trong cú pháp này, chúng ta có thể thấy rằng chúng ta có thể yêu cầu xác định lại tất cả các thuộc tính cột. Cú pháp này cũng có thể cho phép chúng ta thay đổi kiểu dữ liệu của cột. Tuy nhiên, đôi khi câu lệnh CHANGE có thể có những nhược điểm sau
Thí dụHãy cho chúng tôi hiểu cách thức hoạt động của câu lệnh CHANGE trong MySQL để đổi tên một cột thông qua các ví dụ khác nhau. Giả sử chúng ta có một bảng tên là balance chứa dữ liệu như sau Vì một số lý do, chúng tôi cần thay đổi tên cột account_num cùng với kiểu dữ liệu của nó. Trong trường hợp đó, trước tiên chúng ta kiểm tra cấu trúc của bảng bằng cách sử dụng câu lệnh MÔ TẢ như sau Trong hình ảnh này, chúng ta có thể thấy kiểu dữ liệu của tên cột account_num là int. Và chúng tôi muốn thay đổi tên cột này là account_no và kiểu dữ liệu của nó là int thành varchar. Vì vậy, chúng ta có thể thực hiện câu lệnh dưới đây để làm điều này Sau khi thực hiện lệnh trên, chúng ta có thể xác minh lại bằng cách sử dụng lại câu lệnh DESCRIBE. Trong hình bên dưới, tên cột account_num và kiểu dữ liệu của nó đã thay đổi thành công Sử dụng câu lệnh RENAMEĐể loại bỏ nhược điểm của câu lệnh CHANGE, MySQL đã đề xuất cú pháp sau minh họa việc thay đổi tên cột bằng cách sử dụng câu lệnh RENAME Thí dụHãy cho chúng tôi hiểu cách câu lệnh RENAME hoạt động trong MySQL để thay đổi tên cột thông qua các ví dụ khác nhau. Giả sử chúng ta có một bảng có tên khách hàng chứa dữ liệu sau Giả sử chúng ta muốn thay đổi tên cột account bằng account_no mà không thay đổi kiểu dữ liệu của nó. Chúng ta có thể làm điều này bằng cách thực hiện câu lệnh dưới đây Sau khi thực hiện lệnh trên, chúng ta có thể xác minh lại bằng cách sử dụng lại câu lệnh SELECT. Trong hình ảnh bên dưới, cột tên tài khoản đã thay đổi thành công Đổi tên nhiều cộtMySQL cũng cho phép chúng tôi thay đổi nhiều tên cột trong một câu lệnh. Nếu chúng ta muốn đổi tên nhiều tên cột, chúng ta có thể sử dụng cú pháp dưới đây HOẶC LÀ Thí dụGiả sử chúng ta muốn thay đổi tên cột id và customer_name từ bảng khách hàng. Để thay đổi nhiều tên cột trong một câu lệnh, chúng ta có thể sử dụng câu lệnh như sau Sau khi thực hiện lệnh trên, chúng ta có thể xác minh lại bằng cách sử dụng lại câu lệnh SELECT. Trong hình bên dưới, tên cột id và customer_name đã thay đổi thành công Chúng ta hãy thay đổi lại tên cột hiện đang sửa đổi thông qua câu lệnh RENAME COLUMN như sau Sau khi thực hiện lệnh trên, chúng ta có thể xác minh lại bằng cách sử dụng lại câu lệnh DESCRIBE. Trong hình bên dưới, tên cột cust_id và cust_name đã thay đổi thành công Trong bài viết này, chúng ta đã tìm hiểu phần giới thiệu về cột RENAME trong MySQL và cách thay đổi tên cột trong một bảng cụ thể, cùng với một ví dụ truy vấn để hiểu rõ hơn Để đổi tên một cột hiện có trong bảng MySQL, bạn cần kết hợp câu lệnh 3 với mệnh đề 4 hoặc 5Hướng dẫn này sẽ giúp bạn học cách viết câu lệnh 3 với cả hai mệnh đềVí dụ: giả sử bạn có bảng 7 với cấu trúc sau
Như bạn có thể thấy từ tập hợp kết quả ở trên, bảng 7 có 5 cột (hoặc trường)Mệnh đề 4 cho phép bạn thay đổi tên cột và kiểu dữ liệu của bảng bằng cú pháp sau
Giả sử bạn muốn đổi tên cột 0 thành 1. Câu lệnh SQL bên dưới sẽ hoạt động
Mặc dù chúng tôi không thay đổi loại dữ liệu của cột 0, mệnh đề 4 yêu cầu bạn chuyển loại dữ liệu nếu không nó sẽ gây ra lỗiBắt đầu từ phiên bản MySQL 4, MySQL đã thêm mệnh đề 5 để bạn có thể đổi tên tên cột mà không cần phải chuyển kiểu dữ liệu của nóCú pháp của 5 như hình bên dưới
Ví dụ: hãy đổi tên cột 7 thành 8
Khi câu lệnh trên đã được thực thi, bạn có thể chạy lại câu lệnh 9 để kiểm tra cột đã đổi tên
Như bạn có thể thấy từ đầu ra ở trên, chúng tôi đã thành công trong việc đổi tên tên cột của bảng Khi muốn đổi tên nhiều cột, bạn có thể thêm nhiều mệnh đề 4 hoặc 5 cách nhau bởi dấu phẩyHãy xem câu lệnh sql ví dụ bên dưới
Xin lưu ý rằng bạn cần có đặc quyền 2 để chạy hoạt động 3Tiếp theo, hãy tìm hiểu cách kiểm tra và thêm đặc quyền 2 khi nó bị thiếu cho người dùng MySQL của bạnKiểm tra đặc quyền ALTER cho người dùng MySQL của bạnĐể kiểm tra xem người dùng MySQL của bạn đã có đặc quyền 2 hay chưa, bạn cần chạy câu lệnh 6 từ Terminal
Ví dụ: đây là kết quả tôi nhận được khi thực hiện câu lệnh cho người dùng của mình 7
Như bạn có thể thấy, người dùng 7 chỉ có đặc quyền 9 đối với bảng 7 trong cơ sở dữ liệu 1Nếu không có đặc quyền 2, thì câu lệnh 3 sẽ khiến MySQL ném một 4 như hình bên dưới
Để trao đặc quyền 2 cho người dùng, bạn cần thực thi câu lệnh 6 có cú pháp sau 0Đây là một ví dụ về việc cấp đặc quyền 2 cho người dùng 7. Bạn cần thay đổi tên người dùng thành tên người dùng thực của mình 1Bây giờ hãy chạy lại câu lệnh 6. Lần này, bạn sẽ thấy các đặc quyền 2 xuất hiện cho người dùng MySQL của bạn
Làm cách nào để thêm tên cột trong MySQL?Sử dụng THÊM để thêm các cột mới vào bảng và DROP để xóa các cột hiện có. DROP col_name là một phần mở rộng MySQL cho SQL tiêu chuẩn. Để thêm một cột tại một vị trí cụ thể trong một hàng của bảng, hãy sử dụng FIRST hoặc AFTER col_name. Mặc định là thêm cột cuối cùng.
Làm cách nào để thay đổi tên cột trong MySQL?Để đổi tên một cột trong MySQL, sử dụng cú pháp sau. ALTER TABLE table_name RENAME COLUMN old_column_name THÀNH new_column_name ; .
Làm cách nào để đặt tên cho các thành phần của cơ sở dữ liệu trong MySQL?Đặt tên cho các phần tử của cơ sở dữ liệu
. Nếu bạn đang sử dụng máy chủ được lưu trữ, máy chủ Web của bạn có thể sẽ cung cấp tên cơ sở dữ liệu có thể bao gồm hoặc không bao gồm tài khoản hoặc tên miền của bạn. make sure that the database name is unique for that MySQL server. If you're using a hosted server, your Web host will likely provide a database name that may or may not include your account or domain name.
Làm cách nào để hiển thị tên cột trong MySQL?Bạn có thể liệt kê các cột của bảng bằng lệnh mysqlshow db_name tbl_name . Câu lệnh MÔ TẢ cung cấp thông tin tương tự như SHOW COLUMNS. |