13.7.7.10 & nbsp; Hiển thị câu lệnh bảng
SHOW CREATE TABLE tbl_name
Hiển thị câu lệnh
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
0 tạo ra bảng được đặt tên. Để sử dụng câu lệnh này, bạn phải có một số đặc quyền cho bảng. Tuyên bố này cũng hoạt động với quan điểm.mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
Kể từ MySQL 8.0.16, MySQL thực hiện các ràng buộc
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 và mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
2 hiển thị chúng. Tất cả các ràng buộc mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 được hiển thị dưới dạng các ràng buộc bảng. Đó là, một ràng buộc mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 ban đầu được chỉ định là một phần của định nghĩa cột hiển thị như một mệnh đề riêng biệt không phải là một phần của định nghĩa cột. Thí dụ:mysql> CREATE TABLE t1 [
i1 INT CHECK [i1 0], -- column constraint
i2 INT,
CHECK [i2 > i1], -- table constraint
CHECK [i2 0] NOT ENFORCED -- table constraint, not enforced
];
mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` [
`i1` int[11] DEFAULT NULL,
`i2` int[11] DEFAULT NULL,
CONSTRAINT `t1_chk_1` CHECK [[`i1` 0]],
CONSTRAINT `t1_chk_2` CHECK [[`i2` > `i1`]],
CONSTRAINT `t1_chk_3` CHECK [[`i2` 0]] /*!80016 NOT ENFORCED */
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
2 Trích dẫn bảng và tên cột theo giá trị của tùy chọn mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
6. Xem Phần & NBSP; 5.1.8, Biến hệ thống máy chủ của Cameron.Khi thay đổi công cụ lưu trữ của bảng, các tùy chọn bảng không áp dụng cho công cụ lưu trữ mới được giữ lại trong định nghĩa bảng để cho phép hoàn nguyên bảng với các tùy chọn được xác định trước đó cho công cụ lưu trữ ban đầu, nếu cần thiết. Ví dụ: khi thay đổi công cụ lưu trữ từ Innodb sang Myisam, các tùy chọn cụ thể của InnODB như
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
7 được giữ lại.mysql> CREATE TABLE t1 [c1 INT PRIMARY KEY] ROW_FORMAT=COMPACT ENGINE=InnoDB;
mysql> ALTER TABLE t1 ENGINE=MyISAM;
mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` [
`c1` int NOT NULL,
PRIMARY KEY [`c1`]
] ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=COMPACT
Khi tạo một bảng có chế độ nghiêm ngặt bị vô hiệu hóa, định dạng hàng mặc định của công cụ lưu trữ được sử dụng nếu định dạng hàng được chỉ định không được hỗ trợ. Định dạng hàng thực tế của bảng được báo cáo trong cột
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
8 để đáp ứng với mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
9. mysql> CREATE TABLE t1 [
i1 INT CHECK [i1 0], -- column constraint
i2 INT,
CHECK [i2 > i1], -- table constraint
CHECK [i2 0] NOT ENFORCED -- table constraint, not enforced
];
mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` [
`i1` int[11] DEFAULT NULL,
`i2` int[11] DEFAULT NULL,
CONSTRAINT `t1_chk_1` CHECK [[`i1` 0]],
CONSTRAINT `t1_chk_2` CHECK [[`i2` > `i1`]],
CONSTRAINT `t1_chk_3` CHECK [[`i2` 0]] /*!80016 NOT ENFORCED */
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
0 cho thấy định dạng hàng được chỉ định trong câu lệnh mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
0.Trong MySQL 8.0.30 trở lên,
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
2 bao gồm định nghĩa của khóa chính vô hình được tạo của bảng, nếu nó có khóa như vậy, theo mặc định. Bạn có thể khiến thông tin này bị triệt tiêu trong đầu ra của câu lệnh bằng cách đặt mysql> CREATE TABLE t1 [
i1 INT CHECK [i1 0], -- column constraint
i2 INT,
CHECK [i2 > i1], -- table constraint
CHECK [i2 0] NOT ENFORCED -- table constraint, not enforced
];
mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` [
`i1` int[11] DEFAULT NULL,
`i2` int[11] DEFAULT NULL,
CONSTRAINT `t1_chk_1` CHECK [[`i1` 0]],
CONSTRAINT `t1_chk_2` CHECK [[`i2` > `i1`]],
CONSTRAINT `t1_chk_3` CHECK [[`i2` 0]] /*!80016 NOT ENFORCED */
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
3. Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.11, đã tạo ra các khóa chính vô hình. Kiểm tra DDL của đối tượng có trong MySQL.
[Once you have script, check article Reverse Engineer in SqlDBM for next step]
Kiểm tra DDL của bảng. Hiển thị Tạo bảng của bạn ;.
Kiểm tra DDL của chế độ xem. Hiển thị Tạo View_Name ..
Kiểm tra DDL của chuỗi. Hiển thị tạo chuỗi chuỗi_name ;.
Để bắt đầu, lệnh tạo bảng yêu cầu các chi tiết sau -
- Tên của bảng
- Tên của các lĩnh vực
- Định nghĩa cho từng trường
Cú pháp
Dưới đây là cú pháp SQL chung để tạo bảng MySQL -
CREATE TABLE table_name [column_name column_type];
Bây giờ, chúng tôi sẽ tạo bảng sau trong cơ sở dữ liệu hướng dẫn.TUTORIALS database.
create table tutorials_tbl[ tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR[100] NOT NULL, tutorial_author VARCHAR[40] NOT NULL, submission_date DATE, PRIMARY KEY [ tutorial_id ] ];
Ở đây, một vài mục cần giải thích -
Thuộc tính trường không phải là NULL đang được sử dụng vì chúng tôi không muốn trường này không được null. Vì vậy, nếu người dùng sẽ cố gắng tạo một bản ghi có giá trị null, thì MySQL sẽ gây ra lỗi.NOT NULL is being used because we do not want this field to be NULL. So, if a user will try to create a record with a NULL value, then MySQL will raise an error.
Thuộc tính trường Auto_increment bảo MySQL tiếp tục và thêm số có sẵn tiếp theo vào trường ID.AUTO_INCREMENT tells MySQL to go ahead and add the next available number to the id field.
Từ khóa Khóa chính được sử dụng để xác định một cột là khóa chính. Bạn có thể sử dụng nhiều cột được phân tách bằng dấu phẩy để xác định khóa chính.PRIMARY KEY is used to define a column as a primary key. You can use multiple columns separated by a comma to define a primary key.
Tạo bảng từ dấu nhắc lệnh
Thật dễ dàng để tạo bảng MySQL từ lời nhắc MySQL>. Bạn sẽ sử dụng bảng lệnh SQL để tạo bảng.CREATE TABLE to create a table.
Thí dụ
Dưới đây là một ví dụ, sẽ tạo hướng dẫn_tbl -tutorials_tbl −
root@host# mysql -u root -p Enter password:******* mysql> use TUTORIALS; Database changed mysql> CREATE TABLE tutorials_tbl[ -> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR[100] NOT NULL, -> tutorial_author VARCHAR[40] NOT NULL, -> submission_date DATE, -> PRIMARY KEY [ tutorial_id ] -> ]; Query OK, 0 rows affected [0.16 sec] mysql>
Lưu ý - MySQL không chấm dứt lệnh cho đến khi bạn đưa ra dấu chấm phẩy [;] ở cuối lệnh SQL. − MySQL does not terminate a command until you give a semicolon [;] at the end of SQL command.
Tạo bảng bằng cách sử dụng tập lệnh PHP
PHP sử dụng hàm mysqli truy vấn [] hoặc mysql_query [] để tạo bảng mySQL. Hàm này có hai tham số và trả về thành công hoặc sai khi thất bại.mysqli query[] or mysql_query[] function to create a MySQL table. This function takes two parameters and returns TRUE on success or FALSE on failure.
Cú pháp
Dưới đây là cú pháp SQL chung để tạo bảng MySQL -1 | $sql Ở đây, một vài mục cần giải thích - |
2 | $resultmode Thuộc tính trường không phải là NULL đang được sử dụng vì chúng tôi không muốn trường này không được null. Vì vậy, nếu người dùng sẽ cố gắng tạo một bản ghi có giá trị null, thì MySQL sẽ gây ra lỗi. |
Thí dụ
Thử ví dụ sau để tạo bảng -
Sao chép và dán ví dụ sau dưới dạng mysql_example.php -
Creating MySQL Table
Đầu ra
Truy cập mysql_example.php được triển khai trên máy chủ web Apache và xác minh đầu ra.
Connected successfully. Table tutorials_tbl created successfully.