Cách tạo bảng xóa bảng đổi tên bảng trong MySQL
Cách tạo bảng trong MySQL
Sau đây là ví dụ về cách tạo bảng users trong MySQL:
CREATE TABLE users (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -- Auto incrementing IDs
name VARCHAR(100), -- String column of up to 100 characters
preferences JSON, -- JSON columns are great for storing unstructured data and are supported starting MySQL version 5.7.8
created_at TIMESTAMP -- Always store time in UTC
);
Trong dấu ngoặc đơn được gọi là định nghĩa cột được phân tách bằng dấu phẩy. Các trường bắt buộc tối thiểu cho định nghĩa cột là tên cột và kiểu dữ liệu, đó là những gì được hiển thị ở trên cho các cột name, preferences, và created_at. Cột id có các trường bổ sung để xác định nó là cột khóa chính và sử dụng tính năng tự động tăng để gán giá trị cho nó.
Đây cũng là cơ hội để chỉ định các ràng buộc không phải null , các giá trị mặc định và một ENGINE
từ khóa tùy chọn:
CREATE TABLE users (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) not null,
active boolean default true
) ENGINE=INNODB;
Storage engine là các thành phần MySQL xử lý các hoạt động SQL cho các loại bảng khác nhau. Điều này cho phép các nhà phát triển mở rộng khả năng của MySQL. Khi không được chỉ định, engine mặc định được sử dụng là INNODB
.
Cách xóa một bảng trong MySQL
Việc xóa một bảng trong MySQL rất đơn giản:
DROP TABLE inactive_users;
Hãy cẩn thận - không có cách "hoàn tác" nào cho thao tác này!
Cách đổi tên bảng trong MySQL
MySQL: Đổi tên bảng bằng lệnh Alter Table hoặc Rename Table
MySQL cung cấp hai cách để đổi tên bảng. Cách đầu tiên sử dụng ALTER TABLE
cú pháp:
ALTER TABLE old_table_name RENAME new_table_name;
Cách thứ hai là sử dụng RENAME TABLE
:
RENAME TABLE old_table_name TO new_table_name;
RENAME TABLE
cung cấp tính linh hoạt hơn. Nó cho phép đổi tên nhiều bảng trong một câu lệnh. Điều này có thể hữu ích khi thay thế một bảng bằng phiên bản mới được điền sẵn:
RENAME TABLE products TO products_old, products_new TO products;
Câu lệnh trên được thực thi từ trái sang phải, do đó không có xung đột products_new
khi đặt tên products
vì bảng hiện tại đã được đổi tên thành products_old
. Hơn nữa, điều này được thực hiện một cách nguyên tử.
Backup:
Nên backup lại toàn bộ cơ sở dữ liệu DB MySQL trước khi thao tác Xóa DELETE
, Đổi tên ALTER
.
Cách cắt bớt một bảng trong MySQL
Hãy rất cẩn thận với lệnh này. Nó sẽ làm trống nội dung của bảng MySQL của bạn và không có lệnh hoàn tác. Điều này hữu ích trong quá trình phát triển, nhưng bạn hiếm khi muốn làm điều này trong quá trình sản xuất.
TRUNCATE TABLE table_name;
--the TABLE keyword is actually optional:
TRUNCATE table_name;
Nếu bảng chứa một AUTO_INCREMENT
cột, bộ đếm cho cột đó cũng sẽ được đặt lại. Lưu ý rằng hành vi này khác với các cơ sở dữ liệu khác mà bạn cần tự đặt lại bộ đếm.
Cách sao chép một bảng trong MySQL
Bạn có thể sao chép hoặc "nhân bản" nội dung của bảng bằng cách thực hiện CREATE TABLE ... AS SELECT
câu lệnh:
CREATE TABLE new_table AS SELECT * FROM original_table;
Hãy cẩn thận khi sử dụng chức năng này để sao chép các bảng lớn. Việc này có thể tốn nhiều thời gian và tài nguyên máy chủ.
Lưu ý rằng new_table
chỉ kế thừa các định nghĩa cột cơ bản, thiết lập null và giá trị mặc định của original_table. Nó không kế thừa các chỉ mục và định nghĩa tự động _ tăng.
Để kế thừa tất cả các định nghĩa bảng, hãy sử dụng CREATE TABLE... LIKE
cú pháp:
CREATE TABLE new_table LIKE original_table;
Điều này làm cho cấu trúc của new_table
giống hệt như của original_table
, nhưng KHÔNG sao chép dữ liệu. Để sao chép dữ liệu, bạn sẽ cần INSERT ... SELECT
:
INSERT INTO new_table SELECT * FROM original_table;
Một lần nữa, hãy cẩn thận khi thực hiện thao tác này với những chiếc bàn lớn.