Bản tóm tắt. trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng câu lệnh MySQL CREATE TABLE để tạo một bảng mới trong cơ sở dữ liệu Cú pháp MySQL CREATE TABLECâu lệnh CREATE TABLE cho phép bạn tạo một bảng mới trong cơ sở dữ liệu Phần sau đây minh họa cú pháp cơ bản của câu lệnh CREATE TABLE CREATE TABLE [IF NOT EXISTS] table_name(
column_1_definition,
column_2_definition,
...,
table_constraints
) ENGINE=storage_engine; Code language: SQL (Structured Query Language) (sql)
Hãy xem xét cú pháp chi tiết hơn Trước tiên, bạn chỉ định tên của bảng mà bạn muốn tạo sau các từ khóa CREATE TABLE . Tên bảng phải là duy nhất trong cơ sở dữ liệu. column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 3 là tùy chọn. Nó cho phép bạn kiểm tra xem bảng bạn tạo đã tồn tại trong cơ sở dữ liệu chưa. Nếu đây là trường hợp, MySQL sẽ bỏ qua toàn bộ câu lệnh và sẽ không tạo bất kỳ bảng mới nàoThứ hai, bạn chỉ định danh sách các cột của bảng trong phần column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 4, các cột cách nhau bởi dấu phẩyThứ ba, bạn có thể tùy ý chỉ định công cụ lưu trữ cho bảng trong mệnh đề column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 5. Bạn có thể sử dụng bất kỳ công cụ lưu trữ nào như InnoDB và MyISAM. Nếu bạn không khai báo rõ ràng một công cụ lưu trữ, MySQL sẽ sử dụng InnoDB theo mặc địnhInnoDB trở thành công cụ lưu trữ mặc định kể từ phiên bản MySQL 5. 5. Công cụ lưu trữ InnoDB mang lại nhiều lợi ích của hệ thống quản lý cơ sở dữ liệu quan hệ như giao dịch ACID, tính toàn vẹn tham chiếu và khôi phục sự cố. Trong các phiên bản trước, MySQL đã sử dụng MyISAM làm công cụ lưu trữ mặc định Sau đây là cú pháp cho định nghĩa của một cột column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql)
Đây là những thông tin chi tiết - ____1_______6 chỉ định tên của cột. Mỗi cột có một kiểu dữ liệu cụ thể và kích thước tùy chọn e. g. ,
column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 7 - Ràng buộc
column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 8 đảm bảo rằng cột sẽ không chứa column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 9. Bên cạnh ràng buộc PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 0, một cột có thể có thêm ràng buộc như CHECK và UNIQUE PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 1 chỉ định giá trị mặc định cho cộtPRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 2 cho biết giá trị của cột được tự động tăng thêm một mỗi khi một hàng mới được chèn vào bảng. Mỗi bảng có tối đa một cột PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 3
Sau danh sách cột, bạn có thể xác định các ràng buộc bảng như ĐỘC ĐÁO, KIỂM TRA, KHÓA CHÍNH và KHÓA NGOÀI Ví dụ bạn muốn đặt một cột hoặc một nhóm cột làm khóa chính thì bạn sử dụng cú pháp sau PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql)
Các ví dụ về câu lệnh MySQL CREATE TABLEHãy lấy một số ví dụ về việc tạo bảng mới 1) MySQL CREATE TABLE ví dụ đơn giảnCâu lệnh sau tạo một bảng mới có tên PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 6CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql)
Bảng nhiệm vụ có các cột sau PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 là cột tăng tự động. Nếu bạn sử dụng câu lệnh PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 8 để chèn một hàng mới vào bảng mà không chỉ định giá trị cho cột PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7, MySQL sẽ tự động tạo một số nguyên tuần tự cho PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 bắt đầu từ 1- Cột
CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql) 1 là một cột chuỗi ký tự biến đổi có độ dài tối đa là 255. Điều đó có nghĩa là bạn không thể chèn chuỗi có độ dài lớn hơn 255 vào cột này. Ràng buộc column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 8 chỉ ra rằng cột không chấp nhận column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 9. Nói cách khác, bạn phải cung cấp giá trị không phải NULL khi chèn hoặc cập nhật cột này CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql) 4 và CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql) 5 là cột CREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql) 6. Vì các cột này không có ràng buộc PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 0 nên chúng có thể lưu trữ column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 9. Cột start_date có giá trị mặc định là ngày hiện tại. Nói cách khác, nếu bạn không cung cấp giá trị cho cột start_date khi chèn một hàng mới, thì cột start_date sẽ lấy ngày hiện tại của máy chủ cơ sở dữ liệuCREATE TABLE IF NOT EXISTS tasks (
task_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
start_date DATE,
due_date DATE,
status TINYINT NOT NULL,
priority TINYINT NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB; Code language: SQL (Structured Query Language) (sql) 9 và DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 0 là các cột DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 1 không cho phép column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 9- Cột
DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 3 là cột DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 4 chấp nhận column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint; Code language: SQL (Structured Query Language) (sql) 9 DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 6 là cột DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql) 7 chấp nhận thời gian hiện tại làm giá trị mặc định
PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 là cột khóa chính của bảng PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 6. Điều đó có nghĩa là các giá trị trong cột PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 sẽ xác định duy nhất các hàng trong bảngKhi bạn thực thi câu lệnh CREATE TABLE để tạo bảng PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 6, bạn có thể xem cấu trúc của nó bằng cách sử dụng câu lệnh CREATE TABLE IF NOT EXISTS checklists (
todo_id INT AUTO_INCREMENT,
task_id INT,
todo VARCHAR(255) NOT NULL,
is_completed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (todo_id , task_id),
FOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT ON DELETE CASCADE
); Code language: SQL (Structured Query Language) (sql) 3DESCRIBE tasks; Code language: SQL (Structured Query Language) (sql)
Ảnh này hiển thị sơ đồ cơ sở dữ liệu của bảng PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 62) MySQL CREATE TABLE với ví dụ về khóa chính khóa ngoạiGiả sử mỗi nhiệm vụ có một danh sách kiểm tra hoặc danh sách việc cần làm. Để lưu trữ danh sách kiểm tra các nhiệm vụ, bạn có thể tạo một bảng mới có tên là CREATE TABLE IF NOT EXISTS checklists (
todo_id INT AUTO_INCREMENT,
task_id INT,
todo VARCHAR(255) NOT NULL,
is_completed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (todo_id , task_id),
FOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT ON DELETE CASCADE
); Code language: SQL (Structured Query Language) (sql) 6 như sauCREATE TABLE IF NOT EXISTS checklists (
todo_id INT AUTO_INCREMENT,
task_id INT,
todo VARCHAR(255) NOT NULL,
is_completed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (todo_id , task_id),
FOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT ON DELETE CASCADE
); Code language: SQL (Structured Query Language) (sql)
Bảng CREATE TABLE IF NOT EXISTS checklists (
todo_id INT AUTO_INCREMENT,
task_id INT,
todo VARCHAR(255) NOT NULL,
is_completed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (todo_id , task_id),
FOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT ON DELETE CASCADE
); Code language: SQL (Structured Query Language) (sql) 6 có khóa chính bao gồm hai cột. Do đó, chúng tôi đã sử dụng ràng buộc bảng để xác định khóa chínhPRIMARY KEY (todo_id , task_id) Code language: SQL (Structured Query Language) (sql)
Ngoài ra, PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 là cột khóa ngoại tham chiếu đến cột PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 7 của bảng PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 6, chúng tôi đã sử dụng ràng buộc khóa ngoại để thiết lập mối quan hệ nàyFOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT
ON DELETE CASCADE Code language: SQL (Structured Query Language) (sql)
Bạn sẽ tìm hiểu thêm về ràng buộc khóa ngoại trong hướng dẫn tiếp theo Hình ảnh này minh họa bảng CREATE TABLE IF NOT EXISTS checklists (
todo_id INT AUTO_INCREMENT,
task_id INT,
todo VARCHAR(255) NOT NULL,
is_completed BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (todo_id , task_id),
FOREIGN KEY (task_id)
REFERENCES tasks (task_id)
ON UPDATE RESTRICT ON DELETE CASCADE
); Code language: SQL (Structured Query Language) (sql) 6 và mối quan hệ của nó với bảng PRIMARY KEY (col1,col2,...) Code language: SQL (Structured Query Language) (sql) 6Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL CREATE TABLE để tạo một bảng mới trong cơ sở dữ liệu
Làm cách nào để tạo bảng trong MySQL cho người mới bắt đầu?
Bạn có thể tạo một bảng mới trong cơ sở dữ liệu mặc định bằng lệnh " CREATE TABLE tableName " và " DROP TABLE tableName " . Bạn cũng có thể áp dụng điều kiện " IF EXISTS " hoặc " IF NOT EXISTS ". Để tạo một bảng, bạn cần xác định tất cả các cột của nó bằng cách cung cấp tên, loại và thuộc tính của các cột.
Làm thế nào là một bảng được tạo ra?
Bạn có thể tạo bảng bằng cách tạo cơ sở dữ liệu mới, bằng cách chèn bảng vào cơ sở dữ liệu hiện có hoặc bằng cách nhập hoặc liên kết đến bảng từ một nguồn dữ liệu khác — such as a Microsoft Excel workbook, a Microsoft Word document, a text file, or another database.
Làm cách nào để tạo cơ sở dữ liệu và TẠO BẢNG trong MySQL?
CREATE DATABASE – tạo cơ sở dữ liệu. Để sử dụng câu lệnh này, bạn cần có đặc quyền CREATE cho cơ sở dữ liệu CREATE TABLE – tạo bảng. Bạn phải có đặc quyền CREATE cho bảng INSERT – Để thêm/chèn dữ liệu vào bảng i. e. chèn các hàng mới vào một bảng hiện có
Có bao nhiêu cách chúng ta có thể TẠO BẢNG trong MySQL?
Có hai cách chính để tạo bảng trong cơ sở dữ liệu MySQL. . Thực hiện một truy vấn bao gồm câu lệnh CREATE TABLE Sử dụng chức năng tương ứng của các công cụ và IDE liên quan đến MySQL |