Thay đổi cột MySQL
Tìm hiểu cách đổi tên cột trong cơ sở dữ liệu MySQL một cách an toàn bằng công cụ đa tính năng phổ biến – dbForge Studio cho MySQL Show
Để diễn giải Heraclitus, hằng số duy nhất là thay đổi. Điều đó cũng liên quan đến cơ sở dữ liệu. Theo thời gian, các yêu cầu kinh doanh thay đổi buộc quy trình phát triển cơ sở dữ liệu phải thích ứng. Do đó, các nhà phát triển cơ sở dữ liệu ngày càng phải đối mặt với sự cần thiết phải thực hiện tái cấu trúc cơ sở dữ liệu theo cấu trúc – đổi tên các cột, bảng và\hoặc dạng xem với mục đích tăng khả năng đọc mã hoặc áp dụng các quy ước đặt tên cơ sở dữ liệu Các chủ đề sau sẽ được đề cập trong bài viết này Cách đổi tên cột trong MySQL bằng lệnh ALTER TABLEĐể đổi tên một cột trong MySQL, cú pháp sau được sử dụng
Lệnh này dùng để đổi tên cột thành tên cột mới. Tuy nhiên, đổi tên cột theo cách này bạn có nguy cơ phá vỡ các phụ thuộc cơ sở dữ liệu. Và hậu quả của những thay đổi tưởng chừng như đơn giản lại có thể là thảm họa. Do đó, tốt hơn là sử dụng công cụ tái cấu trúc cơ sở dữ liệu cho phép bạn thay đổi tên của bất kỳ đối tượng cơ sở dữ liệu nào trong cơ sở dữ liệu của mình. Tất cả các tham chiếu và tập quán của tên sẽ được cập nhật tự động Cách đổi tên cột trong MySQL với sự trợ giúp của dbForge Studio cho MySQLdbForge Studio cho MySQL là GUI đa chức năng để quản lý cơ sở dữ liệu MySQL. Nó kết hợp Công cụ tái cấu trúc cơ sở dữ liệu MySQL mạnh mẽ cho phép bạn tự do đổi tên các đối tượng cơ sở dữ liệu và cải thiện thiết kế cơ sở dữ liệu của mình với thời gian và công sức tối thiểu Làm theo các bước sau để đổi tên cột trong dbForge Studio cho MySQL Bước 1. Chọn một cột để đổi tênTrong cây Database Explorer, điều hướng đến cột bạn muốn đổi tên. Sau đó nhấp chuột phải vào nó và chọn lệnh Đổi tên từ menu ngữ cảnh xuất hiện Bước 2. Thay đổi tên cột và xem trước các thay đổiBây giờ, nhập tên cột mới và nhấn Enter. Cửa sổ Xem trước Thay đổi sẽ mở ra. Kiểm tra các thay đổi mã để đảm bảo rằng các thay đổi là chính xác. Nhấp vào Áp dụng nếu mọi thứ đều ổn Ghi chú. Đổi tên các cột khóa ngoại trong MySQLKhi đổi tên cột, bạn luôn phải lo lắng về các tham chiếu sử dụng khóa ngoại – nếu bạn đổi tên cột theo cách thủ công (ví dụ: sử dụng bảng thay đổi MySQL – câu lệnh đổi tên cột), các phần phụ thuộc này sẽ bị mất hoặc bạn sẽ phải tìm tất cả . dbForge Studio dành cho MySQL giúp bạn tránh được rắc rối. Công cụ này sẽ tìm thấy tất cả các khóa ngoại và sẽ áp dụng tên cột mới trong cơ sở dữ liệu của bạn Đổi tên cột trong chế độ xem MySQLĐiều khá phổ biến là cột bạn cần đổi tên được sử dụng trong dạng xem. Trong trường hợp bạn chỉ đổi tên cột, bạn sẽ gặp lỗi khi chọn dữ liệu cho chế độ xem đó. Để tránh điều này, bạn sẽ phải cập nhật tất cả các dạng xem sử dụng cột đã đổi tên sau khi bạn thực sự đổi tên nó. Nhưng giờ đây dbForge Studio dành cho MySQL có thể giúp bạn tiết kiệm thời gian. Công cụ này sẽ tự động cập nhật tất cả các dạng xem và ngữ nghĩa thông tin và hành vi của cơ sở dữ liệu sẽ được giữ lại Lệnh ALTER trong MySQL rất hữu ích khi bạn muốn thay đổi tên của bảng, bất kỳ trường nào của bảng hoặc nếu bạn muốn thêm hoặc xóa một cột hiện có trong bảng Chúng ta hãy bắt đầu với việc tạo một bảng có tên testalter_tbl root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Xoá, thêm hoặc định vị lại một cộtNếu bạn muốn xóa một cột i hiện có khỏi bảng MySQL ở trên, thì bạn sẽ sử dụng mệnh đề DROP cùng với lệnh ALTER như hình bên dưới - mysql> ALTER TABLE testalter_tbl DROP i; Mệnh đề DROP sẽ không hoạt động nếu cột là cột duy nhất còn lại trong bảng Để thêm một cột, hãy sử dụng THÊM và chỉ định định nghĩa cột. Câu lệnh sau khôi phục cột i thành testalter_tbl − mysql> ALTER TABLE testalter_tbl ADD i INT; Sau khi đưa ra câu lệnh này, trình kiểm tra sẽ chứa hai cột giống như khi bạn tạo bảng lần đầu tiên, nhưng sẽ không có cùng cấu trúc. Điều này là do có các cột mới được thêm vào cuối bảng theo mặc định. Vì vậy, mặc dù ban đầu tôi là cột đầu tiên trong mytbl, nhưng bây giờ nó là cột cuối cùng mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Để cho biết rằng bạn muốn một cột ở một vị trí cụ thể trong bảng, hãy sử dụng FIRST để biến cột đó thành cột đầu tiên hoặc SAU KHI col_name để cho biết rằng cột mới sẽ được đặt sau col_name Hãy thử các câu lệnh ALTER TABLE sau, sử dụng SHOW COLUMNS sau mỗi câu lệnh để xem mỗi câu lệnh có tác dụng gì − ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c; Các chỉ định FIRST và AFTER chỉ hoạt động với mệnh đề ADD. Điều này có nghĩa là nếu bạn muốn định vị lại một cột hiện có trong một bảng, trước tiên bạn phải DROP nó và sau đó THÊM nó vào vị trí mới Thay đổi (Thay đổi) Định nghĩa Cột hoặc TênĐể thay đổi định nghĩa của cột, hãy sử dụng mệnh đề MODIFY hoặc CHANGE cùng với lệnh ALTER Ví dụ: để thay đổi cột c từ CHAR(1) thành CHAR(10), bạn có thể sử dụng lệnh sau – mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10); Với CHANGE, cú pháp hơi khác một chút. Sau từ khóa CHANGE, bạn đặt tên cho cột muốn thay đổi, sau đó chỉ định định nghĩa mới, bao gồm tên mới Hãy thử ví dụ sau - mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT; Nếu bây giờ bạn sử dụng CHANGE để chuyển đổi j từ BIGINT trở lại INT mà không thay đổi tên cột, câu lệnh sẽ như bên dưới: ________số 8Ảnh hưởng của ALTER TABLE đối với các thuộc tính giá trị không và giá trị mặc định − Khi bạn SỬA ĐỔI hoặc THAY ĐỔI một cột, bạn cũng có thể chỉ định cột đó có thể chứa giá trị NULL hay không và giá trị mặc định của nó là gì. Trên thực tế, nếu bạn không làm điều này, MySQL sẽ tự động gán giá trị cho các thuộc tính này Khối mã sau đây là một ví dụ, trong đó cột NOT NULL sẽ có giá trị là 100 theo mặc định mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100; Nếu bạn không dùng lệnh trên thì MySQL sẽ điền giá trị NULL vào tất cả các cột Thay đổi (Thay đổi) Giá trị Mặc định của CộtBạn có thể thay đổi giá trị mặc định cho bất kỳ cột nào bằng cách sử dụng lệnh ALTER Hãy thử ví dụ sau root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)0 Bạn có thể xóa ràng buộc mặc định khỏi bất kỳ cột nào bằng cách sử dụng mệnh đề DROP cùng với lệnh ALTER mysql> ALTER TABLE testalter_tbl DROP i;0 Thay đổi (Thay đổi) một loại bảngBạn có thể sử dụng một loại bảng bằng cách sử dụng mệnh đề TYPE cùng với lệnh ALTER. Hãy thử ví dụ sau để thay đổi loại bảng testalter_tbl thành MYISAM Để biết loại bảng hiện tại, hãy sử dụng câu lệnh SHOW TABLE STATUS mysql> ALTER TABLE testalter_tbl DROP i;1 Đổi tên (Thay đổi) một bảngĐể đổi tên bảng, hãy sử dụng tùy chọn RENAME của câu lệnh ALTER TABLE Hãy thử ví dụ sau để đổi tên testalter_tbl thành alter_tbl mysql> ALTER TABLE testalter_tbl DROP i;2 Bạn có thể sử dụng lệnh ALTER để tạo và thả lệnh INDEX trên tệp MySQL. Chúng ta sẽ thảo luận chi tiết về lệnh này trong chương tiếp theo Làm cách nào để đổ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 để thay đổi thuộc tính cột trong MySQL?Cú pháp để sửa đổi một cột trong bảng trong MySQL (sử dụng câu lệnh ALTER TABLE) là. THAY ĐỔI BẢNG tên_bảng SỬA ĐỔI cột_tên cột_definition [ FIRST. SAU tên cột ]; . Tên của bảng để sửa đổi |