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 CREATE TABLE
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 NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Kể từ MySQL 8.0.16, MySQL thực hiện các ràng buộc CHECK
và
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
0 hiển thị chúng. Tất cả các ràng buộc CHECK
được hiển thị dưới dạng các ràng buộc bảng. Đó là, một ràng buộc CHECK
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 DEFAULT NULL,
`i2` int 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 NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
0 Báo giá 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 NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
4. 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ừ
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
5 thành mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
6, các tùy chọn cụ thể thành mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
5, chẳng hạn như mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` [
`id` int NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
8, được giữ lại, như được hiển thị ở đây: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 NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
9 để đáp ứng với 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 DEFAULT NULL,
`i2` int 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. 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 DEFAULT NULL,
`i2` int 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
1 cho thấy định dạng hàng được chỉ định trong câu lệnh CREATE TABLE
.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 NOT NULL AUTO_INCREMENT,
`s` char[60] DEFAULT NULL,
PRIMARY KEY [`id`]
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
0 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 DEFAULT NULL,
`i2` int 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
4. Để 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.DDL là viết tắt của ngôn ngữ định nghĩa dữ liệu. Để tạo bảng DDL thông qua truy vấn, bạn có thể sử dụng lệnh created show.
Cú pháp như sau
SHOW CREATE TABLE yourTableName;
Cú pháp trên là cụ thể của MySQL. Giả sử, chúng ta có một bảng có tên ‘ddloftablestudent.
Đầu tiên, hãy tạo một bảng với tên ‘ddloftablestudent. Truy vấn để tạo bảng như sau
mysql> create table DDLOfTableStudent -> [ -> StudentId int, -> StudentFirstName varchar[100], -> StudentLastName varchar[100], -> StudentAddress varchar[200], -> StudentAge int, -> StudentMarks int -> ]; Query OK, 0 rows affected [0.84 sec]
Sử dụng cú pháp trên để biết DDL của bảng. Truy vấn như sau
mysql> SHOW CREATE TABLE DDLOfTableStudent;
Sau đây là đầu ra hiển thị DDL
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | DDLOfTableStudent | CREATE TABLE `ddloftablestudent` [`StudentId` int[11] DEFAULT NULL,`StudentFirstName` varchar[100] DEFAULT NULL,`StudentLastName` varchar[100] DEFAULT NULL,`StudentAddress` varchar[200] DEFAULT NULL,`StudentAge` int[11] DEFAULT NULL,`StudentMarks` int[11] DEFAULT NULL] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set [0.00 sec]
Cập nhật vào ngày 30 tháng 3 năm 2019 22:30:24
- Câu hỏi và câu trả lời liên quan
- Sự khác biệt giữa MySQL và SQL Server
- Hiển thị máy chủ MySQL qua lệnh SQL?
- Cơ sở dữ liệu Wars: MSSQL Server, Oracle PL/SQL và MySQL
- Tải và dỡ một bảng trong SAP HANA bằng truy vấn SQL
- Điều khoản giới hạn MySQL tương đương với SQL Server?
- Sự khác biệt giữa Oracle và SQL Server
- Trung bình và chế độ trong SQL Server
- Tạo bảng truy vấn SQL trong SAP HANA
- Tương đương của cột Nhận dạng SQL Server trong MySQL?
- Làm thế nào để viết một giới hạn MySQL, trong SQL Server?
- Tương đương của hàm SQL Server scope_identity [] trong mysql?
- Sự khác biệt giữa ETL và ELT trong SQL Server
- Sự khác biệt giữa SQL [ngôn ngữ truy vấn có cấu trúc] và T-SQL [Transact-SQL].
- Máy chủ MySQL và các chương trình khởi động máy chủ
- Làm thế nào để tạo ra một lệnh Creat Creating Bàn dựa trên một bảng hiện có trong MySQL?