Tóm lược. 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
4 để tạo một bảng mới trong cơ sở dữ liệuCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Cú pháp MySQL column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Code language: SQL [Structured Query Language] [sql]
4
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Câu lệnh
4 cho phép bạn tạo một bảng mới trong cơ sở dữ liệuCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Phần sau đây minh họa cú pháp cơ bản của câu lệnh
4Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Code language: SQL [Structured Query Language] [sql]
CREATE TABLE [IF NOT EXISTS] table_name[ column_1_definition, column_2_definition, ..., table_constraints ] ENGINE=storage_engine;
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 từ khóa
4 . Tên bảng phải là duy nhất trong cơ sở dữ liệu.Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
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àoCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Thứ hai, bạn chỉ định danh sách các cột của bảng trong phần
4, các cột cách nhau bởi dấu phẩyCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Thứ ba, bạn có thể tùy chọn chỉ định công cụ lưu trữ cho bảng trong mệnh đề
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 địnhCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
InnoDB 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
Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Đây là những thông tin chi tiết
- ____16 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. ,
7
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
- Ràng buộc
8 đảm bảo rằng cột sẽ không chứacolumn_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
9. Bên cạnh ràng buộc
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
0, một cột có thể có thêm ràng buộc như CHECK và UNIQUE
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
1 chỉ định giá trị mặc định cho cột
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
2 cho biết rằng 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
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
3
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
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
Code language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
Ví dụ về câu lệnh MySQL column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Code language: SQL [Structured Query Language] [sql]
4
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Hãy lấy một số ví dụ về việc tạo bảng mới
1] MySQL column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Code language: SQL [Structured Query Language] [sql]
4 ví dụ đơn giản
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Câu lệnh sau tạo một bảng mới có tên
6Code language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
5Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Bảng nhiệm vụ có các cột sau
7 là cột tăng tự động. Nếu bạn sử dụng câu lệnh
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
8 để chèn một hàng mới vào bảng mà không chỉ định giá trị cho cột
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
7, MySQL sẽ tự động tạo một số nguyên tuần tự cho
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
7 bắt đầu từ 1
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
- Cột
51 là cột chuỗi ký tự biến 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
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
8 chỉ ra rằng cột không chấp nhận
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
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àycolumn_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
54 và
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
55 là cột
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
56. Vì các cột này không có ràng buộc
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
0 nên chúng có thể lưu trữ
Code language: SQL [Structured Query Language] [sql]PRIMARY KEY [col1,col2,...]
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ệu
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
59 và
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
90 là các cột
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
91 không cho phép
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
9
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
- Cột
93 là cột
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
94 chấp nhận
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
9
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
96 là cột
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
97 chấp nhận thời gian hiện tại làm giá trị mặc định
Code language: SQL [Structured Query Language] [sql]column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
7 là cột khóa chính của bảngCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
6. Điều đó có nghĩa là các giá trị trong cộtCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
7 sẽ xác định duy nhất các hàng trong bảngCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
Khi bạn thực thi câu lệnh
4 để tạo bảngCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
6, bạn có thể xem cấu trúc của nó bằng cách sử dụng câu lệnhCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
13Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
9Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Hình ảnh này cho thấy sơ đồ cơ sở dữ liệu của bảng
6Code language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
2] MySQL column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Code language: SQL [Structured Query Language] [sql]
4 với ví dụ về khóa chính khóa ngoại
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Giả 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à
16 như sauCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
1Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Bảng
16 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ínhCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
7Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Ngoài ra,
7 là cột khóa ngoại tham chiếu đến cộtCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
7 của bảngCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
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àyCode language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
1Code language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
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
16 và mối quan hệ của nó với bảngCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
6Code language: SQL [Structured Query Language] [sql]
PRIMARY KEY [col1,col2,...]
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL
4 để tạo một bảng mới trong cơ sở dữ liệuCode language: SQL [Structured Query Language] [sql]
column_name data_type[length] [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;