17.5.1.6 & nbsp; sao chép tạo ... nếu không tồn tại các câu lệnh
MySQL áp dụng các quy tắc này khi các tuyên bố
SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
0 khác nhau được sao chép:Mỗi câu lệnh
1 được nhân rộng, cho dù cơ sở dữ liệu có tồn tại trên nguồn hay không.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Tương tự, mỗi câu lệnh
2 mà không cóSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
3 được sao chép, cho dù bảng có tồn tại trên nguồn hay không. Điều này bao gồmSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
4. Sao chépSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
5 tuân theo các quy tắc hơi khác nhau; Xem Phần & NBSP; 17.5.1.7, Bản sao của Bảng tạo ... Chọn các câu lệnh, để biết thêm thông tin.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
6 luôn được nhân rộng, cho dù sự kiện có tên trong câu lệnh đã tồn tại trên nguồn.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
7 chỉ được ghi vào nhật ký nhị phân nếu thành công. Nếu câu lệnh bao gồmSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
8, nó được coi là thành công và được ghi lại miễn là ít nhất một người dùng có tên trong câu lệnh được tạo; Trong những trường hợp như vậy, tuyên bố được ghi lại như được viết; Điều này bao gồm các tham chiếu đến người dùng hiện tại không được tạo. Xem Tạo ghi nhật ký nhị phân của người dùng, để biết thêm thông tin.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
. , hoặc kích hoạt] đã tồn tại.MySQL 8.0.29 and later:]
9,SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
0, orSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
1, if successful, is written in its entirety to the binary log [including theSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2 clause], whether or not the statement raised a warning because the object [procedure, function, or trigger] already existed.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
13.2.11.6 & NBSP; Các nhóm phụ có tồn tại hoặc không tồn tại
Nếu một công cụ con trả về bất kỳ hàng nào,
SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
3 là SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4 và SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
5 là SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
6. Ví dụ:SELECT column1 FROM t1 WHERE EXISTS [SELECT * FROM t2];
Theo truyền thống, một truy vấn con
SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
7 bắt đầu với SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
8, nhưng nó có thể bắt đầu bằng SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
9 hoặc CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
0 hoặc bất cứ điều gì. MySQL bỏ qua danh sách SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
3 trong một truy vấn con như vậy, vì vậy nó không có gì khác biệt.Đối với ví dụ trước, nếu
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
2 chứa bất kỳ hàng nào, thậm chí các hàng không có gì ngoài các giá trị CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
3, điều kiện SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
7 là SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4. Đây thực sự là một ví dụ không thể xảy ra bởi vì một truy vấn con CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
6 hầu như luôn luôn chứa các mối tương quan. Dưới đây là một số ví dụ thực tế hơn:Những loại cửa hàng có mặt trong một hoặc nhiều thành phố?
SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Loại cửa hàng nào có mặt ở No City?
SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Những loại cửa hàng có mặt ở tất cả các thành phố?
SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Ví dụ cuối cùng là truy vấn
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
7 được lồng đôi. Đó là, nó có một mệnh đề CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
7 trong mệnh đề CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
9. Chính thức, nó trả lời câu hỏi mà một thành phố có tồn tại với một cửa hàng không có trong CREATE TABLE new_tbl LIKE orig_tbl;
0 không? Nhưng dễ dàng hơn để nói rằng một CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
9 được lồng vào câu hỏi là CREATE TABLE new_tbl LIKE orig_tbl;
2 SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4 cho tất cả CREATE TABLE new_tbl LIKE orig_tbl;
4?“does a city exist with a store that is not in CREATE TABLE new_tbl LIKE orig_tbl;
0”? But it is easier to say that a nested CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
9 answers the question “is CREATE TABLE new_tbl LIKE orig_tbl;
2 SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4 for all CREATE TABLE new_tbl LIKE orig_tbl;
4?”Trong MySQL 8.0.19 và sau đó, bạn cũng có thể sử dụng
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
7 hoặc CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
9 với CREATE TABLE new_tbl LIKE orig_tbl;
7 trong trình điều khiển phụ, như thế này:SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các kết quả giống như khi sử dụng
CREATE TABLE new_tbl LIKE orig_tbl;
8 mà không có mệnh đề CREATE TABLE new_tbl LIKE orig_tbl;
9 trong truy vấn con. 13.1.20 & nbsp; Tạo câu lệnh bảng
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[create_definition,...]
[table_options]
[partition_options]
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[[create_definition,...]]
[table_options]
[partition_options]
[IGNORE | REPLACE]
[AS] query_expression
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | [LIKE old_tbl_name] }
create_definition: {
col_name column_definition
| {INDEX | KEY} [index_name] [index_type] [key_part,...]
[index_option] ...
| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY]
[index_name] [index_type] [key_part,...]
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] [col_name,...]
reference_definition
| check_constraint_definition
}
column_definition: {
data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ]
[VISIBLE | INVISIBLE]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[ENGINE_ATTRIBUTE [=] 'string']
[SECONDARY_ENGINE_ATTRIBUTE [=] 'string']
[STORAGE {DISK | MEMORY}]
[reference_definition]
[check_constraint_definition]
| data_type
[COLLATE collation_name]
[GENERATED ALWAYS] AS [expr]
[VIRTUAL | STORED] [NOT NULL | NULL]
[VISIBLE | INVISIBLE]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[reference_definition]
[check_constraint_definition]
}
data_type:
[see Chapter 11, Data Types]
key_part: {col_name [[length]] | [expr]} [ASC | DESC]
index_type:
USING {BTREE | HASH}
index_option: {
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE}
|ENGINE_ATTRIBUTE [=] 'string'
|SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}
check_constraint_definition:
[CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED]
reference_definition:
REFERENCES tbl_name [key_part,...]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
table_options:
table_option [[,] table_option] ...
table_option: {
AUTOEXTEND_SIZE [=] value
| AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| ENGINE_ATTRIBUTE [=] 'string'
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT}
| START TRANSACTION
| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
| UNION [=] [tbl_name[,tbl_name]...]
}
partition_options:
PARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list]
| RANGE{[expr] | COLUMNS[column_list]}
| LIST{[expr] | COLUMNS[column_list]} }
[PARTITIONS num]
[SUBPARTITION BY
{ [LINEAR] HASH[expr]
| [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] }
[SUBPARTITIONS num]
]
[[partition_definition [, partition_definition] ...]]
partition_definition:
PARTITION partition_name
[VALUES
{LESS THAN {[expr | value_list] | MAXVALUE}
|
IN [value_list]}]
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
[[subpartition_definition [, subpartition_definition] ...]]
subpartition_definition:
SUBPARTITION logical_name
[[STORAGE] ENGINE [=] engine_name]
[COMMENT [=] 'string' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] tablespace_name]
query_expression:
SELECT ... [Some valid select or union statement]
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
0 Tạo một bảng với tên đã cho. Bạn phải có đặc quyền CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
1 cho bảng.Theo mặc định, các bảng được tạo trong cơ sở dữ liệu mặc định, sử dụng công cụ lưu trữ
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2. Xảy ra lỗi nếu bảng tồn tại, nếu không có cơ sở dữ liệu mặc định hoặc nếu cơ sở dữ liệu không tồn tại.MySQL không có giới hạn về số lượng bảng. Hệ thống tệp cơ bản có thể có giới hạn về số lượng tệp đại diện cho các bảng. Động cơ lưu trữ cá nhân có thể áp đặt các ràng buộc cụ thể của động cơ.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 cho phép lên tới 4 tỷ bảng.Để biết thông tin về biểu diễn vật lý của bảng, xem Phần & NBSP; 13.1.20.1, các tệp được tạo bởi Tạo bảng.
Có một số khía cạnh của tuyên bố
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
4, được mô tả theo các chủ đề sau trong phần này:Tên bảng
Bảng tạm thời
Nhân bản bảng và sao chép
Kiểu dữ liệu và thuộc tính cột
Chỉ mục, khóa nước ngoài và các ràng buộc kiểm tra
Tùy chọn bảng
Phân vùng bảng
Tên bảng
Bảng tạm thời
Nhân bản bảng và sao chép
Kiểu dữ liệu và thuộc tính cột
Chỉ mục, khóa nước ngoài và các ràng buộc kiểm tra
Tùy chọn bảng
Bảng tạm thời
Nhân bản bảng và sao chép
Nhân bản bảng và sao chép
3CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Sử dụng
4 để tạo một bảng trống dựa trên định nghĩa của một bảng khác, bao gồm bất kỳ thuộc tính và chỉ mục cột nào được xác định trong bảng gốc:CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
CREATE TABLE new_tbl LIKE orig_tbl;
Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.3, Tạo bảng ... giống như câu lệnh.
5CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Để tạo một bảng từ một bảng khác, hãy thêm câu lệnh
3 ở cuối câu lệnhSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
0:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.4, Bảng Tạo bảng ... Chọn câu lệnh.
8CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Các tùy chọn
9 vàCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
0 cho biết cách xử lý các hàng sao chép các giá trị khóa duy nhất khi sao chép bảng bằng câu lệnhCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
3.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.4, Bảng Tạo bảng ... Chọn câu lệnh.
CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
8
CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Các tùy chọn
CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
9 và CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
0 cho biết cách xử lý các hàng sao chép các giá trị khóa duy nhất khi sao chép bảng bằng câu lệnh SELECT DISTINCT store_type FROM stores s1
WHERE NOT EXISTS [
SELECT * FROM cities WHERE NOT EXISTS [
SELECT * FROM cities_stores
WHERE cities_stores.city = cities.city
AND cities_stores.store_type = stores.store_type]];
3.Kiểu dữ liệu và thuộc tính cột
Có giới hạn cứng là 4096 cột trên mỗi bảng, nhưng mức tối đa hiệu quả có thể ít hơn đối với một bảng nhất định và phụ thuộc vào các yếu tố được thảo luận trong Phần & NBSP; 8.4.7, giới hạn về số lượng bảng và kích thước hàng.
2CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
3 đại diện cho kiểu dữ liệu trong định nghĩa cột. Để biết mô tả đầy đủ về cú pháp có sẵn để chỉ định các loại dữ liệu cột, cũng như thông tin về các thuộc tính của từng loại, xem Chương & NBSP; 11, các loại dữ liệu.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Một số thuộc tính không áp dụng cho tất cả các loại dữ liệu.
4 chỉ áp dụng cho các loại số nguyên và dấu phẩy động. Trước MySQL 8.0.13,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
5 không áp dụng cho các loạiCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
6,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
7,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
8 vàCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
9.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Các loại dữ liệu ký tự [
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01, các loạiSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
03,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
04 và bất kỳ từ đồng nghĩa nào] có thể bao gồmSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
05 để chỉ định bộ ký tự cho cột.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
06 là một từ đồng nghĩa vớiSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
05. Một đối chiếu cho bộ ký tự có thể được chỉ định với thuộc tínhSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
08, cùng với bất kỳ thuộc tính nào khác. Để biết chi tiết, xem Chương & NBSP; 10, bộ ký tự, đối chiếu, Unicode. Thí dụ:must be given. Prefix lengths are given in characters for nonbinary string types and in bytes for binary string types. That is, index entries consist of the firstSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
16 characters of each column value forSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01, andSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7 columns, and the firstCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
16 bytes of each column value forSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
09,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10, andSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6 columns. Indexing only a prefix of column values like this can make the index file much smaller. For additional information about index prefixes, see Section 13.1.15, “CREATE INDEX Statement”.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
MySQL 8.0 diễn giải các thông số kỹ thuật độ dài trong định nghĩa cột ký tự trong các ký tự. Độ dài cho
09 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10 là trong byte.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Đối với các cột
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
09 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10, các chỉ mục có thể được tạo chỉ sử dụng phần hàng đầu của các giá trị cột, sử dụng cú pháp ________ 115 [____ 116] để chỉ định độ dài tiền tố chỉ mục. Các cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6 vàCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
7 cũng có thể được lập chỉ mục, nhưng phải có độ dài tiền tố. Độ dài tiền tố được đưa ra trong các ký tự cho các loại chuỗi không phân biệt và trong byte cho các loại chuỗi nhị phân. Nghĩa là các mục nhập chỉ mục bao gồm các ký tựCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
16 đầu tiên của mỗi giá trị cột cho các cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7 và các byteCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
16 đầu tiên của mỗi giá trị cột cho các cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
09,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6. Chỉ lập chỉ mục một tiền tố của các giá trị cột như thế này có thể làm cho tệp chỉ mục nhỏ hơn nhiều. Để biết thêm thông tin về tiền tố chỉ mục, hãy xem Phần & NBSP; 13.1.15, Tuyên bố Tạo Chỉ số.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Chỉ các công cụ lưu trữ
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 hỗ trợ lập chỉ mục trên các cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6 vàCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
7. Ví dụ:CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Nếu một tiền tố chỉ mục được chỉ định vượt quá kích thước kiểu dữ liệu cột tối đa,
4 xử lý chỉ mục như sau:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Đối với chỉ số không liên quan, xảy ra lỗi [nếu chế độ SQL nghiêm ngặt được bật] hoặc độ dài chỉ mục bị giảm để nằm trong kích thước kiểu dữ liệu cột tối đa và cảnh báo được tạo ra [nếu chế độ SQL nghiêm ngặt không được bật].
Đối với một chỉ mục duy nhất, một lỗi xảy ra bất kể chế độ SQL vì việc giảm độ dài chỉ số có thể cho phép chèn các mục không liên quan không đáp ứng yêu cầu tính duy nhất được chỉ định.
Các cột
9 không thể được lập chỉ mục. Bạn có thể làm việc xung quanh hạn chế này bằng cách tạo một chỉ mục trên một cột được tạo trích xuất giá trị vô hướng từ cộtCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
9. Xem lập chỉ mục một cột được tạo để cung cấp chỉ mục cột JSON, để biết ví dụ chi tiết.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
34SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu cả
3 vàCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
36 đều không được chỉ định, cột được xử lý như thểSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3 đã được chỉ định.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Trong MySQL 8.0, chỉ các công cụ lưu trữ
2,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40 hỗ trợ các chỉ mục trên các cột có thể có giá trịSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3. Trong các trường hợp khác, bạn phải khai báo các cột được lập chỉ mục làCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
42 hoặc kết quả lỗi.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
5CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
50,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
51SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Chỉ định khả năng hiển thị cột. Mặc định là
50 nếu không có từ khóa. Một bảng phải có ít nhất một cột có thể nhìn thấy. Cố gắng làm cho tất cả các cột vô hình tạo ra một lỗi. Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.10, Cột vô hình.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các từ khóa
50 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
51 có sẵn kể từ MySQL 8.0.23. Trước MySQL 8.0.23, tất cả các cột đều có thể nhìn thấy.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Một cột số nguyên hoặc dấu phẩy động có thể có thuộc tính bổ sung
4. Khi bạn chèn giá trịCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
3 [được đề xuất] hoặcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
58 vào cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 được lập chỉ mục, cột được đặt thành giá trị chuỗi tiếp theo. Thông thường đây là ________ 160+1, trong đóCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
61 là giá trị lớn nhất cho cột hiện tại trong bảng. Trình tựSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 bắt đầu vớiCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
63.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Để truy xuất giá trị
4 sau khi chèn một hàng, hãy sử dụng hàmCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
65 SQL hoặc hàm APISELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
66 C. Xem phần & nbsp; 12.16, các chức năng thông tin trực tuyến và mysql_insert_id [].SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu chế độ
67 SQL được bật, bạn có thể lưu trữSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
58 trong các cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 dưới dạngCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
58 mà không tạo ra giá trị trình tự mới. Xem Phần & NBSP; 5.1.11, Chế độ SQL Server SQL.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Chỉ có thể có một cột
4 trên mỗi bảng, nó phải được lập chỉ mục và nó không thể có giá trịCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
5. Một cộtCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
4 chỉ hoạt động chính xác nếu nó chỉ chứa các giá trị dương. Chèn một số âm được coi là chèn một số dương rất lớn. Điều này được thực hiện để tránh các vấn đề chính xác khi các số, bọc trên từ tích cực đến tiêu cực và cũng để đảm bảo rằng bạn không vô tình nhận được cộtCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
4 có chứaCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
58.“wrap” over from positive to negative and also to ensure that you do not accidentally get anSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 column that containsCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
58.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Đối với các bảng
28, bạn có thể chỉ định cột thứ cấpSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 trong phím nhiều cột. Xem Phần & NBSP; 3.6.9, Sử dụng Auto_increment.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Để làm cho MySQL tương thích với một số ứng dụng ODBC, bạn có thể tìm thấy giá trị
4 cho hàng được chèn cuối cùng với truy vấn sau:CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
0SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Phương pháp này yêu cầu biến
79 không được đặt thành 0. Xem phần & nbsp; 5.1.8, các biến hệ thống máy chủ của Hồi giáo.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Để biết thông tin về
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
4, xem Phần & NBSP; 15.6.1.6, Xử lý Auto_increment trong Innodb. Để biết thông tin về bản saoCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
4 và MySQL, xem phần & nbsp; 17.5.1.1, sao chép và tự động_increment.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
83SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một nhận xét cho một cột có thể được chỉ định với tùy chọn
83, dài tới 1024 ký tự. Nhận xét được hiển thị bởi các câu lệnhSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
85 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
86. Nó cũng được hiển thị trong cộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
87 của bảngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
88.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
89SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Trong cụm NDB, cũng có thể chỉ định định dạng lưu trữ dữ liệu cho các cột riêng lẻ của bảng
90 bằng cách sử dụngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
89. Các định dạng cột cho phép làSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
92,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
5.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
92 được sử dụng để chỉ định lưu trữ có chiều rộng cố định,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 cho phép cột có chiều rộng thay đổi vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
5 khiến cột sử dụng lưu trữ chiều rộng hoặc chiều rộng cố định như được xác định bởi kiểu dữ liệu của cột [có thể được ghi đè bởiCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
98. .SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Đối với các bảng
90, giá trị mặc định choSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
89 làSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
92.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Trong cụm NDB, phần bù tối đa có thể cho một cột được xác định với
02 là 8188 byte. Để biết thêm thông tin và cách giải quyết có thể, xem Phần & NBSP; 23.2.7.5, Giới hạn liên quan đến các đối tượng cơ sở dữ liệu trong cụm NDB.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
89 hiện không có tác dụng đối với các cột của các bảng sử dụng các công cụ lưu trữ khác vớiSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
90. MySQL 8.0 âm thầm bỏ quaSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
89.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các tùy chọn
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 [có sẵn kể từ MySQL 8.0.21] được sử dụng để chỉ định các thuộc tính cột cho các công cụ lưu trữ chính và phụ. Các tùy chọn được dành riêng để sử dụng trong tương lai.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị được phép là một chuỗi theo nghĩa đen chứa một tài liệu
9 hợp lệ hoặc một chuỗi trống ['']. Không hợp lệCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
9 bị từ chối.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
1SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 có thể được lặp lại mà không có lỗi. Trong trường hợp này, giá trị được chỉ định cuối cùng được sử dụng.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 không được kiểm tra bởi máy chủ, chúng cũng không bị xóa khi công cụ lưu trữ của bảng được thay đổi.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Đối với các bảng
90, có thể chỉ định liệu cột được lưu trữ trên đĩa hay trong bộ nhớ bằng cách sử dụng mệnh đềSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
17 làm cho cột được lưu trữ trên đĩa vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
18 Nguyên nhân lưu trữ trong bộ nhớ được sử dụng. Tuyên bốSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
0 được sử dụng vẫn phải bao gồm mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
20:SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Đối với các bảng
90,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
22 tương đương vớiSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
23.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Điều khoản
14 không có tác dụng đối với các bảng sử dụng các công cụ lưu trữ ngoàiSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
90. Từ khóaSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14 chỉ được hỗ trợ trong bản dựng của MySQLD được cung cấp với cụm NDB; Nó không được nhận ra trong bất kỳ phiên bản MySQL nào khác, trong đó bất kỳ nỗ lực nào để sử dụng từ khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14 gây ra lỗi cú pháp.mysqld that is supplied with NDB Cluster; it is not recognized in any other version of MySQL, where any attempt to use theSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14 keyword causes a syntax error.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
28SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Được sử dụng để chỉ định một biểu thức cột được tạo. Để biết thông tin về các cột được tạo, xem Phần & NBSP; 13.1.20.8, Bảng Tạo bảng và các cột được tạo.
Các cột được tạo có thể được lập chỉ mục.
2 hỗ trợ các chỉ mục thứ cấp trên các cột được tạo ảo. Xem Phần & NBSP; 13.1.20.9, Chỉ mục thứ cấp và các cột được tạo.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Chỉ mục, khóa nước ngoài và các ràng buộc kiểm tra
Một số từ khóa áp dụng cho việc tạo ra các chỉ mục, khóa nước ngoài và các ràng buộc
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
30. Đối với nền tảng chung ngoài các mô tả sau đây, xem Phần & NBSP; 13.1.15, Tuyên bố Creat Created Index, Phần & NBSP; 13.1.20.5, các ràng buộc chính của nước ngoài, và Phần & NBSP;
31SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Điều khoản
31 có thể được đưa ra để đặt tên cho một ràng buộc. Nếu mệnh đề không được đưa ra hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
33 không được bao gồm sau từ khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
34, MySQL sẽ tự động tạo tên ràng buộc, với ngoại lệ được ghi nhận bên dưới. Giá trịSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
33, nếu được sử dụng, phải là duy nhất cho mỗi lược đồ [cơ sở dữ liệu], cho mỗi loại ràng buộc. Một bản saoSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
33 dẫn đến một lỗi. Xem thêm các cuộc thảo luận về giới hạn độ dài của các định danh ràng buộc được tạo tại Phần & NBSP; 9.2.1, Giới hạn độ dài định danh của định danh.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Ghi chú
Nếu mệnh đề
31 không được đưa ra trong định nghĩa khóa nước ngoài hoặc không được bao gồm từ khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
34, MySQL sử dụng tên chỉ số khóa nước ngoài lên đến MySQL 8.0.15 và tự động tạo tên ràng buộc sau đó.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Tiêu chuẩn SQL chỉ định rằng tất cả các loại ràng buộc [khóa chính, chỉ mục duy nhất, khóa ngoại, kiểm tra] thuộc cùng một không gian tên. Trong MySQL, mỗi loại ràng buộc có không gian tên riêng trên mỗi lược đồ. Do đó, tên cho từng loại ràng buộc phải là duy nhất cho mỗi lược đồ, nhưng các ràng buộc của các loại khác nhau có thể có cùng tên.
40SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một chỉ mục duy nhất trong đó tất cả các cột chính phải được xác định là
42. Nếu họ không được tuyên bố rõ ràng làSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
42, MySQL tuyên bố họ rất ngầm [và âm thầm]. Một bảng chỉ có thể có mộtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40. Tên của mộtSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
44 luôn làSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
45, do đó không thể được sử dụng làm tên cho bất kỳ loại chỉ mục nào khác.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu bạn không có
40 và một ứng dụng yêu cầuSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40 trong bảng của bạn, MySQL sẽ trả về chỉ mụcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
48 đầu tiên không có cộtSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3 dưới dạngCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Trong các bảng
2, hãy giữ ngắn gọn ____244 để giảm thiểu chi phí lưu trữ cho các chỉ mục thứ cấp. Mỗi mục chỉ mục thứ cấp chứa một bản sao của các cột khóa chính cho hàng tương ứng. .CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Trong bảng được tạo, một
40 được đặt đầu tiên, theo sau là tất cả các chỉ mụcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
48, và sau đó là các chỉ mục không liên quan. Điều này giúp Trình tối ưu hóa MySQL ưu tiên sử dụng chỉ mục nào và cũng nhanh hơn để phát hiện các khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
48 trùng lặp.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một
40 có thể là một chỉ số nhiều cột. Tuy nhiên, bạn không thể tạo chỉ mục nhiều cột bằng cách sử dụng thuộc tính khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40 trong một đặc tả cột. Làm như vậy chỉ đánh dấu cột đơn đó là chính. Bạn phải sử dụng mệnh đềSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
58 riêng biệt, ...].SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu một bảng có chỉ số
40 hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
60 bao gồm một cột duy nhất có loại số nguyên, bạn có thể sử dụngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
61 để tham khảo cột được lập chỉ mục trong các câu lệnhSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3, như được mô tả trong các chỉ mục duy nhất.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Trong MySQL, tên của
40 làSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
45. Đối với các chỉ mục khác, nếu bạn không gán tên, chỉ mục được gán cùng tên với cột được lập chỉ mục đầu tiên, với hậu tố tùy chọn [SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
65,SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
66,SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
67] để làm cho nó trở nên duy nhất. Bạn có thể thấy tên chỉ mục cho một bảng bằng cách sử dụngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
68. Xem Phần & NBSP; 13.7.7.22, Báo cáo chỉ số hiển thị.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
69SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
70 thường là từ đồng nghĩa vớiSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
71. Thuộc tính khóaSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
44 cũng có thể được chỉ định là chỉSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
70 khi được đưa ra trong một định nghĩa cột. Điều này đã được triển khai để tương thích với các hệ thống cơ sở dữ liệu khác.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
48SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Chỉ số
48 tạo ra một ràng buộc sao cho tất cả các giá trị trong chỉ mục phải khác biệt. Lỗi xảy ra nếu bạn cố gắng thêm một hàng mới với giá trị khóa phù hợp với hàng hiện có. Đối với tất cả các công cụ, chỉ mụcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
48 cho phép nhiều giá trịSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3 cho các cột có thể chứaCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
3. Nếu bạn chỉ định giá trị tiền tố cho một cột trong chỉ mụcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
48, các giá trị cột phải là duy nhất trong độ dài tiền tố.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu một bảng có chỉ số
40 hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
60 bao gồm một cột duy nhất có loại số nguyên, bạn có thể sử dụngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
61 để tham khảo cột được lập chỉ mục trong các câu lệnhSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3, như được mô tả trong các chỉ mục duy nhất.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
84SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Chỉ mục
84 là một loại chỉ mục đặc biệt được sử dụng cho các tìm kiếm toàn văn. Chỉ các công cụ lưu trữSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 hỗ trợ các chỉ mụcSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
84. Chúng chỉ có thể được tạo từ các cộtSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01 vàSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7. Lập chỉ mục luôn xảy ra trên toàn bộ cột; Lập chỉ mục tiền tố cột không được hỗ trợ và bất kỳ độ dài tiền tố nào bị bỏ qua nếu được chỉ định. Xem Phần & NBSP; 12.10, Chức năng tìm kiếm toàn văn bản, để biết chi tiết về hoạt động. Một mệnh đềCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
92 có thể được chỉ định là giá trịSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 để liên kết một plugin trình phân tích cú pháp với chỉ mục nếu các hoạt động lập chỉ mục và tìm kiếm toàn văn cần xử lý đặc biệt. Điều khoản này chỉ có giá trị cho các chỉ mụcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
84.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 Hỗ trợ các plugin trình phân tích cú pháp toàn văn bản. Xem các plugin trình phân tích cú pháp toàn văn bản và viết các plugin trình phân tích cú pháp toàn văn để biết thêm thông tin.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
97SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Bạn có thể tạo các chỉ mục
97 trên các loại dữ liệu không gian. Các loại không gian chỉ được hỗ trợ cho các bảngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 và các cột được lập chỉ mục phải được khai báo làSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
36. Xem Phần & NBSP; 11.4, các loại dữ liệu không gian.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
02SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
MySQL hỗ trợ các khóa nước ngoài, cho phép bạn tham chiếu chéo dữ liệu liên quan đến các bảng và các ràng buộc khóa nước ngoài, giúp giữ cho dữ liệu lan truyền này nhất quán. Để biết định nghĩa và thông tin tùy chọn, xem
03 vàSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
04.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Các bảng được phân vùng sử dụng công cụ lưu trữ
2 không hỗ trợ các khóa nước ngoài. Xem Phần & NBSP; 24.6, Hạn chế và hạn chế về phân vùng, để biết thêm thông tin.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Điều khoản
30 cho phép tạo các ràng buộc được kiểm tra các giá trị dữ liệu trong các hàng bảng. Xem Phần & NBSP; 13.1.20.6, Kiểm tra các ràng buộc.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
08SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Thông số kỹ thuật
09 có thể kết thúc bằngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
10 hoặcSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
11 để xác định xem các giá trị chỉ mục có được lưu trữ theo thứ tự tăng dần hay giảm dần hay không. Mặc định là tăng dần nếu không có trình xác định đơn hàng nào được đưa ra.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Các tiền tố, được xác định bởi thuộc tính
16, có thể dài tới 767 byte cho các bảngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 sử dụng định dạng hàngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
14 hoặcSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
15. Giới hạn độ dài tiền tố là 3072 byte cho các bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
2 sử dụng định dạng hàngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
93 hoặcSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
18. Đối với bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
28, giới hạn độ dài tiền tố là 1000 byte.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Giới hạn tiền tố được đo bằng byte. Tuy nhiên, độ dài tiền tố cho các thông số kỹ thuật chỉ số trong các câu lệnh
4,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21 vàSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
22 được giải thích là số lượng ký tự cho các loại chuỗi không phân phối [SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7] và số lượng byte cho các loại chuỗi nhị phân [____109, ____. Đưa nó vào tài khoản khi chỉ định độ dài tiền tố cho cột Chuỗi không sử dụng bộ ký tự Multibyte.limits are measured in bytes. However, prefix lengths for index specifications inCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
4,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21, andSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
22 statements are interpreted as number of characters for nonbinary string types [SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7] and number of bytes for binary string types [CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
09,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6]. Take this into account when specifying a prefix length for a nonbinary string column that uses a multibyte character set.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Bắt đầu với MySQL 8.0.17,
29 cho thông số kỹ thuậtSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
09 có thể lấy mẫuSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
31 dưới dạng mảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
32] để tạo chỉ mục đa giá trị trên cộtSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
9. Các chỉ mục đa giá trị, cung cấp thông tin chi tiết về việc tạo, sử dụng, và các hạn chế và hạn chế đối với các chỉ mục đa giá trị.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
34SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Một số công cụ lưu trữ cho phép bạn chỉ định loại chỉ mục khi tạo một chỉ mục. Cú pháp cho bộ xác định
35 làSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
36.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Thí dụ:
3SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Vị trí ưa thích cho
37 là sau danh sách cột chỉ mục. Nó có thể được đưa ra trước danh sách cột, nhưng hỗ trợ sử dụng tùy chọn ở vị trí đó không được chấp nhận và bạn nên hy vọng nó sẽ bị xóa trong bản phát hành MySQL trong tương lai.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
93SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 Giá trị Chỉ định các tùy chọn bổ sung cho một chỉ mục.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Đối với các bảng
28,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40 Tùy chọn chỉ định kích thước tính bằng byte để sử dụng cho các khối khóa chỉ mục. Giá trị được coi là một gợi ý; Một kích thước khác nhau có thể được sử dụng nếu cần thiết. Giá trịSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40 được chỉ định cho một định nghĩa chỉ số riêng lẻ ghi đè giá trị cấp bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Để biết thông tin về thuộc tính
40 cấp bảng, hãy xem các tùy chọn bảng.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
92SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Tùy chọn
92 chỉ có thể được sử dụng với các chỉ mụcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
84. Nó liên kết một plugin phân tích cú pháp với chỉ mục nếu các hoạt động lập chỉ mục và tìm kiếm toàn văn cần xử lý đặc biệt.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 Hỗ trợ các plugin trình phân tích cú pháp toàn văn bản. Nếu bạn có bảngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
28 với plugin trình phân tích cú pháp toàn văn được liên kết, bạn có thể chuyển đổi bảng thànhSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 bằngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
83SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các định nghĩa chỉ số có thể bao gồm một nhận xét tùy chọn lên tới 1024 ký tự.
Bạn có thể đặt giá trị
2CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
56 cho một chỉ mục riêng lẻ bằng mệnh đềSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
93SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
83. Xem Phần & NBSP; 15.8.11, Định cấu hình ngưỡng hợp nhất cho các trang chỉ mục.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
83 clause. See Section 15.8.11, “Configuring the Merge Threshold for Index Pages”.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
50,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
51SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Chỉ định khả năng hiển thị chỉ mục. Các chỉ mục có thể nhìn thấy theo mặc định. Một chỉ số vô hình không được sử dụng bởi trình tối ưu hóa. Đặc điểm kỹ thuật về khả năng hiển thị chỉ mục áp dụng cho các chỉ mục khác với các khóa chính [rõ ràng hoặc ẩn]. Để biết thêm thông tin, xem Phần & NBSP; 8.3.12, Chỉ số vô hình của Hồi giáo.
Các tùy chọn
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 [có sẵn kể từ MySQL 8.0.21] được sử dụng để chỉ định các thuộc tính chỉ mục cho các công cụ lưu trữ chính và phụ. Các tùy chọn được dành riêng để sử dụng trong tương lai.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Để biết thêm thông tin về các giá trị
93 cho phép, hãy xem Phần & NBSP; 13.1.15, Tuyên bố Tạo Chỉ số. Để biết thêm thông tin về các chỉ mục, hãy xem Phần & NBSP; 8.3.1, Cách MySQL sử dụng các chỉ mục.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
03SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Đối với các chi tiết và ví dụ về cú pháp
03, xem phần & nbsp; 13.1.20.5, các ràng buộc chính của nước ngoài.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Bảng
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
90 Hỗ trợ kiểm tra các ràng buộc chính của nước ngoài. Các cột của bảng được tham chiếu phải luôn được đặt tên rõ ràng. Cả hai hành độngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
68 vàSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
69 trên các khóa nước ngoài đều được hỗ trợ. Để biết thêm thông tin và ví dụ chi tiết, xem Phần & NBSP; 13.1.20.5, các ràng buộc chính của nước ngoài.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Đối với các công cụ lưu trữ khác, máy chủ MySQL phân tích cú pháp và bỏ qua cú pháp
02 trong các câu lệnhSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
0.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Quan trọng
Đối với người dùng quen thuộc với tiêu chuẩn ANSI/ISO SQL, xin lưu ý rằng không có công cụ lưu trữ nào, bao gồm
2, nhận ra hoặc thực thi mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
73 được sử dụng trong các định nghĩa ràng buộc toàn vẹn tham chiếu. Việc sử dụng một mệnh đềSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
73 rõ ràng không có hiệu ứng được chỉ định và cũng gây ra các điều khoảnSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
75 vàSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
69 bị bỏ qua. Vì những lý do này, nên tránhSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
73.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Điều khoản
73 trong tiêu chuẩn SQL kiểm soát cách thức các giá trịSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
3 trong một khóa lạ tổng hợp [nhiều cột] được xử lý khi so sánh với khóa chính.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
2 về cơ bản thực hiện các ngữ nghĩa được xác định bởiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
81, cho phép khóa nước ngoài là tất cả hoặc một phầnSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
3. Trong trường hợp đó, hàng [bảng con] chứa khóa nước ngoài như vậy được phép chèn và không khớp với bất kỳ hàng nào trong bảng được tham chiếu [cha mẹ]. Có thể thực hiện các ngữ nghĩa khác bằng cách sử dụng các kích hoạt.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Ngoài ra, MySQL yêu cầu các cột được tham chiếu phải được lập chỉ mục cho hiệu suất. Tuy nhiên,
2 không thực thi bất kỳ yêu cầu nào rằng các cột được tham chiếu được khai báoCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
48 hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
36. Việc xử lý các tham chiếu khóa nước ngoài đối với các khóa hoặc khóa không liên quan có chứa các giá trịSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
3 không được xác định rõ cho các hoạt động nhưCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
87 hoặcSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
88. Bạn nên sử dụng các khóa nước ngoài chỉ các khóa tham chiếu cảSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
48 [hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
45] vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
36.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
MySQL phân tích cú pháp nhưng bỏ qua các thông số kỹ thuật ____392 [như được định nghĩa trong tiêu chuẩn SQL] trong đó các tham chiếu được định nghĩa là một phần của đặc tả cột. MySQL chỉ chấp nhận các điều khoản
92 khi được chỉ định là một phần của đặc tảSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
02 riêng biệt. Để biết thêm thông tin, xem Phần & NBSP; 1.7.2.3, Sự khác biệt ràng buộc chính của nước ngoài.“inlineSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
92 specifications” [as defined in the SQL standard] where the references are defined as part of the column specification. MySQL acceptsSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
92 clauses only when specified as part of a separateSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
02 specification. For more information, see Section 1.7.2.3, “FOREIGN KEY Constraint Differences”.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
04SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Để biết thông tin về
96,SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
97,SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
98,SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
99 vàSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
00, xem Phần & NBSP; 13.1.20.5, các ràng buộc chính của nước ngoài.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Tùy chọn bảng
Các tùy chọn bảng được sử dụng để tối ưu hóa hành vi của bảng. Trong hầu hết các trường hợp, bạn không phải chỉ định bất kỳ trong số họ. Các tùy chọn này áp dụng cho tất cả các công cụ lưu trữ trừ khi có quy định khác. Các tùy chọn không áp dụng cho một công cụ lưu trữ nhất định có thể được chấp nhận và ghi nhớ như là một phần của định nghĩa bảng. Các tùy chọn như vậy sau đó áp dụng nếu sau đó bạn sử dụng
SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
01 để chuyển đổi bảng để sử dụng một công cụ lưu trữ khác.
02SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Chỉ định công cụ lưu trữ cho bảng, sử dụng một trong các tên được hiển thị trong bảng sau. Tên động cơ có thể không được trích dẫn hoặc trích dẫn. Tên được trích dẫn
03 được công nhận nhưng bị bỏ qua.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Công cụ lưu trữSự mô tả
2CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Bảng an toàn giao dịch với khóa hàng và khóa nước ngoài. Công cụ lưu trữ mặc định cho các bảng mới. Xem Chương & NBSP; 15, Công cụ lưu trữ Innodb và đặc biệt là Phần & NBSP; 15.1, Giới thiệu về Innodb, nếu bạn có kinh nghiệm MySQL nhưng mới đến
2.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Công cụ lưu trữ di động nhị phân chủ yếu được sử dụng cho khối lượng công việc chỉ đọc hoặc đọc nhiều nhất. Xem Phần & NBSP; 16.2, Công cụ lưu trữ Myisam.
40SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Dữ liệu cho công cụ lưu trữ này chỉ được lưu trữ trong bộ nhớ. Xem Phần & NBSP; 16.3, Công cụ lưu trữ bộ nhớ.
08SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các bảng lưu trữ các hàng ở định dạng giá trị được phân tách bằng dấu phẩy. Xem Phần & NBSP; 16.4, Công cụ lưu trữ CSV.
09SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các công cụ lưu trữ lưu trữ. Xem Phần & NBSP; 16.5, Công cụ lưu trữ lưu trữ.
10SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Một động cơ ví dụ. Xem Phần & NBSP; 16.9, Từ The Vication Storage Engine.
11SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Công cụ lưu trữ truy cập vào bảng từ xa. Xem Phần & NBSP; 16.8, Động cơ lưu trữ được liên kết.
12SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Đây là một từ đồng nghĩa với
40.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Một bộ sưu tập các bảng
28 được sử dụng làm một bảng. Còn được gọi làSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
16. Xem Phần & NBSP; 16.7, Công cụ lưu trữ hợp nhất.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các bảng được phân cụm, chịu lỗi, dựa trên bộ nhớ, các giao dịch hỗ trợ và khóa nước ngoài. Còn được gọi là
18. Xem Chương & NBSP; 23, MySQL NDB Cụm 8.0.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Theo mặc định, nếu một công cụ lưu trữ được chỉ định không có sẵn, câu lệnh không có lỗi. Bạn có thể ghi đè hành vi này bằng cách xóa
19 khỏi chế độ SQL máy chủ [xem Phần & NBSP; 5.1.11, chế độ SQL Server SQL] để MySQL cho phép thay thế công cụ được chỉ định bằng công cụ lưu trữ mặc định thay thế. Thông thường trong các trường hợp như vậy, đây làSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2, là giá trị mặc định cho biến hệ thốngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21. KhiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
19 bị vô hiệu hóa, một cảnh báo xảy ra nếu thông số kỹ thuật của công cụ lưu trữ không được tôn vinh.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
23SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Xác định số lượng mà
2 mở rộng kích thước của không gian bảng khi nó trở nên đầy đủ. Được giới thiệu trong MySQL 8.0,23. Cài đặt phải là bội số của 4MB. Cài đặt mặc định là 0, khiến cho không gian bảng được mở rộng theo hành vi mặc định ngầm. Để biết thêm thông tin, xem Phần & NBSP; 15.6.3.9, Table AutoExtend_Size Cấu hình.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
4CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Giá trị
4 ban đầu cho bảng. Trong MySQL 8.0, điều này hoạt động cho các bảngCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
28,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
09. Để đặt giá trị tự động đầu tiên cho các công cụ không hỗ trợ tùy chọn bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4, hãy chèn một hàng giả hình với giá trị một giá trị ít hơn giá trị mong muốn sau khi tạo bảng, sau đó xóa hàng giả.“dummy” row with a value one less than the desired value after creating the table, and then delete the dummy row.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Đối với các công cụ hỗ trợ tùy chọn bảng
4 trong các câu lệnhCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
0, bạn cũng có thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
34 auto_increment =SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
35 để đặt lại giá trịSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4. Giá trị không thể được đặt thấp hơn giá trị tối đa hiện tại trong cột.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
37SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Một xấp xỉ của chiều dài hàng trung bình cho bảng của bạn. Bạn chỉ cần đặt điều này cho các bảng lớn với các hàng có kích thước thay đổi.
Khi bạn tạo bảng
28, MySQL sử dụng sản phẩm của các tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
39 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
37 để quyết định bảng kết quả lớn như thế nào. Nếu bạn không chỉ định tùy chọn, kích thước tối đa cho dữ liệu và tệp chỉ mụcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
28 là 256TB theo mặc định. [Nếu hệ điều hành của bạn không hỗ trợ các tệp lớn, kích thước bảng bị hạn chế bởi giới hạn kích thước tệp.] có thể giảm kích thước con trỏ mặc định bằng cách đặt biến hệ thốngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
42. . Kích thước bằng cách đặt biến này. Đặt giá trị thành 7 kích thước bảng giấy phép lên tới 65,536TB.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
43SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Chỉ định một bộ ký tự mặc định cho bảng.
06 là một từ đồng nghĩa vớiSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
45. Nếu tên bộ ký tự làSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
5, bộ ký tự cơ sở dữ liệu được sử dụng.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
47SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Đặt cái này thành 1 nếu bạn muốn MySQL duy trì tổng kiểm tra trực tiếp cho tất cả các hàng [nghĩa là tổng kiểm tra mà MySQL tự động cập nhật khi bảng thay đổi]. Điều này làm cho bảng chậm hơn một chút để cập nhật, nhưng cũng giúp dễ dàng tìm thấy các bảng bị hỏng. Tuyên bố
48 báo cáo tổng kiểm tra. [ChỉSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
28.]SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
50SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Chỉ định một đối chiếu mặc định cho bảng.
83SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một nhận xét cho bảng, dài tới 2048 ký tự.
Bạn có thể đặt giá trị
2CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
56 cho bảng bằng mệnh đềSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
54SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83. Xem Phần & NBSP; 15.8.11, Định cấu hình ngưỡng hợp nhất cho các trang chỉ mục.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Cài đặt các tùy chọn ndb_table. & Nbsp; Bảng nhận xét trong một
0 tạo ra bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
90 hoặc câu lệnhSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01 làm thay đổi người ta cũng có thể được sử dụng để chỉ định một đến bốn trong số các tùy chọnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
59SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
60,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
61,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
62 dấu phẩy nếu cần, ngay sau chuỗiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
64 bắt đầu văn bản nhận xét được trích dẫn. Một tuyên bố ví dụ sử dụng cú pháp này được hiển thị ở đây [văn bản nhấn mạnh]: The table comment in aSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
0 that creates anCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
90 table or anSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01 statement which alters one can also be used to specify one to four of theSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
59 optionsSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
60,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
61,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
62, orSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
63 as a set of name-value pairs, separated by commas if need be, immediately following the stringSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
64 that begins the quoted comment text. An example statement using this syntax is shown here [emphasized text]:SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
4SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Không gian không được phép trong chuỗi được trích dẫn. Chuỗi không nhạy cảm trường hợp.
Nhận xét được hiển thị như một phần của đầu ra của
65. Văn bản của bình luận cũng có sẵn dưới dạng cột TABE_COMMENT của bảng Lược đồ thông tin MySQLSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
66.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Cú pháp nhận xét này cũng được hỗ trợ với các câu lệnh
01 cho các bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90. Hãy nhớ rằng một bình luận bảng được sử dụng vớiSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01 thay thế bất kỳ bình luận hiện có nào mà bảng có thể đã có trước đây.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Đặt tùy chọn
56 trong các nhận xét bảng không được hỗ trợ cho các bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
90 [nó bị bỏ qua].SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Để biết thông tin và ví dụ về cú pháp hoàn chỉnh, xem Phần & NBSP; 13.1.20.12, Cài đặt các tùy chọn bình luận NDB.
72SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Thuật toán nén được sử dụng để nén cấp trang cho các bảng
2. Các giá trị được hỗ trợ bao gồmCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
74,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
75 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
76. Thuộc tínhSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
72 được giới thiệu với tính năng nén trang trong suốt. Nén trang chỉ được hỗ trợ với các bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2 nằm trong các không gian bảng tệp cho mỗi bảng và chỉ có sẵn trên các nền tảng Linux và Windows hỗ trợ các tệp thưa thớt và đục lỗ. Để biết thêm thông tin, xem Phần & NBSP; 15.9.2, nén trang InnoDB.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
79SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Chuỗi kết nối cho bảng
11.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Ghi chú
Các phiên bản cũ hơn của MySQL đã sử dụng tùy chọn
83 cho chuỗi kết nối.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82,SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Đối với
2, mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
85 'cho phép tạo các bảng bên ngoài thư mục dữ liệu. BiếnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
86 phải được bật để sử dụng mệnh đềSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
87. Đường dẫn thư mục đầy đủ phải được chỉ định. Kể từ MySQL 8.0.21, thư mục được chỉ định phải được biết làSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2. Để biết thêm thông tin, xem Phần & NBSP; 15.6.1.2, Tạo các bảng bên ngoài.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Khi tạo bảng
28, bạn có thể sử dụng mệnh đềSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
85 ', mệnh đềSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
91' hoặc cả hai. Họ chỉ định nơi đặt tệp dữ liệu và chỉ mục của bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
28 tương ứng. Không giống như các bảngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
2, MySQL không tạo các thư mục con tương ứng với tên cơ sở dữ liệu khi tạo bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 với tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83. Các tệp được tạo trong thư mục được chỉ định.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Bạn phải có đặc quyền
97 để sử dụng tùy chọn bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
99.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Quan trọng
Các tùy chọn cấp độ bảng
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
99 bị bỏ qua cho các bảng được phân vùng. [Lỗi #32091]SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các tùy chọn này chỉ hoạt động khi bạn không sử dụng tùy chọn
02. Hệ điều hành của bạn cũng phải có cuộc gọiCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
03 an toàn, chủ đề. Xem Phần & NBSP; 8.12.2.2, Sử dụng các liên kết tượng trưng cho các bảng Myisam trên UNIX, để biết thêm thông tin đầy đủ.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Nếu bảng
28 được tạo không có tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82, tệpSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
06 được tạo trong thư mục cơ sở dữ liệu. Theo mặc định, nếuCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 tìm thấy tệpSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
06 hiện có trong trường hợp này, nó sẽ ghi đè lên nó. Điều tương tự cũng áp dụng cho các tệpCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
09 cho các bảng được tạo không có tùy chọnCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
83. Để ngăn chặn hành vi này, hãy khởi động máy chủ với tùy chọnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
11, trong trường hợp đóCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 không ghi đè lên các tệp hiện có và thay vào đó trả về lỗi.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu bảng
28 được tạo bằng tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83 và tệpSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
06 hoặcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
09 hiện có,CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 luôn trả về lỗi và không ghi đè lên tệp trong thư mục được chỉ định.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Quan trọng
Các tùy chọn cấp độ bảng
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
99 bị bỏ qua cho các bảng được phân vùng. [Lỗi #32091]SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Các tùy chọn này chỉ hoạt động khi bạn không sử dụng tùy chọn
02. Hệ điều hành của bạn cũng phải có cuộc gọiCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
03 an toàn, chủ đề. Xem Phần & NBSP; 8.12.2.2, Sử dụng các liên kết tượng trưng cho các bảng Myisam trên UNIX, để biết thêm thông tin đầy đủ.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Nếu bảng
28 được tạo không có tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82, tệpSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
06 được tạo trong thư mục cơ sở dữ liệu. Theo mặc định, nếuCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 tìm thấy tệpSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
06 hiện có trong trường hợp này, nó sẽ ghi đè lên nó. Điều tương tự cũng áp dụng cho các tệpCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
09 cho các bảng được tạo không có tùy chọnCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
83. Để ngăn chặn hành vi này, hãy khởi động máy chủ với tùy chọnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
11, trong trường hợp đóCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 không ghi đè lên các tệp hiện có và thay vào đó trả về lỗi.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu bảng
28 được tạo bằng tùy chọnSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83 và tệpSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
06 hoặcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
09 hiện có,CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
28 luôn trả về lỗi và không ghi đè lên tệp trong thư mục được chỉ định.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Bạn không thể sử dụng tên đường dẫn chứa thư mục dữ liệu MySQL với
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
99. Điều này bao gồm các bảng phân vùng và các phân vùng bảng riêng lẻ. [Xem lỗi #32167.]SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
21CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Kể từ MySQL 8.0.16, việc chỉ định mệnh đề
24 có giá trị khác vớiCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
34 hoặcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
35 không được phép khi sử dụng công cụ lưu trữ không hỗ trợ mã hóa. Trước đây, điều khoản đã được chấp nhận.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Để biết thêm thông tin, hãy xem Phần & NBSP; 15.13, mã hóa dữ liệu tại InnoDB.
-
Các tùy chọn
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 [có sẵn kể từ MySQL 8.0.21] được sử dụng để chỉ định các thuộc tính bảng cho các công cụ lưu trữ chính và phụ. Các tùy chọn được dành riêng để sử dụng trong tương lai.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị được phép là một chuỗi theo nghĩa đen chứa một tài liệu
9 hợp lệ hoặc một chuỗi trống ['']. Không hợp lệCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
9 bị từ chối.CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
5SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 có thể được lặp lại mà không có lỗi. Trong trường hợp này, giá trị được chỉ định cuối cùng được sử dụng.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Các giá trị
06 vàSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07 không được kiểm tra bởi máy chủ, chúng cũng không bị xóa khi công cụ lưu trữ của bảng được thay đổi.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
44CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Nếu bạn muốn chèn dữ liệu vào bảng
14, bạn phải chỉ định vớiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
44 bảng mà hàng nên được chèn.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
44 chỉ là một tùy chọn hữu ích cho các bảngCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
14. Sử dụng giá trịSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
49 hoặcCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
50 để chèn đi đến bảng đầu tiên hoặc cuối cùng hoặc giá trịCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
51 để ngăn chặn các phần chèn. Xem Phần & NBSP; 16.7, Công cụ lưu trữ hợp nhất.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Đối với các bảng
28,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
40 Tùy chọn chỉ định kích thước tính bằng byte để sử dụng cho các khối khóa chỉ mục. Giá trị được coi là một gợi ý; Một kích thước khác nhau có thể được sử dụng nếu cần thiết. Giá trịSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40 được chỉ định cho một định nghĩa chỉ số riêng lẻ ghi đè giá trị cấp bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Đối với các bảng
2,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40 chỉ định kích thước trang tính bằng kilobyte để sử dụng cho các bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
2 được nén. Giá trịCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40 được coi là một gợi ý; Một kích thước khác nhau có thể được sử dụng bởiSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
2 nếu cần thiết.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40 chỉ có thể nhỏ hơn hoặc bằng giá trịSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
63. Giá trị 0 biểu thị kích thước trang nén mặc định, là một nửa giá trịCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
63. Tùy thuộc vàoCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
63, các giá trịCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40 có thể bao gồm 0, 1, 2, 4, 8 và 16. Xem Phần & NBSP; 15.9.1, Nén bảng InnoDB để biết thêm thông tin.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Oracle khuyến nghị cho phép
67 khi chỉ địnhCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40 cho bảngSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
2. KhiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
67 được bật, việc chỉ định giá trịCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40 không hợp lệ trả về lỗi. NếuSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
67 bị vô hiệu hóa, giá trịCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40 không hợp lệ dẫn đến cảnh báo và tùy chọnSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40 bị bỏ qua.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Cột
75 để đáp ứng vớiCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
76 báo cáoCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
40 thực tế được sử dụng bởi bảng, cũng nhưSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
65.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2 chỉ hỗ trợCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40 ở cấp bảng.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
40 không được hỗ trợ với các giá trị 32kb và 64kbSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
63.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
2 Nén bảng không hỗ trợ các kích thước các trang này.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 không hỗ trợ tùy chọnCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40 khi tạo các bảng tạm thời.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
39SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Số lượng hàng tối đa bạn dự định lưu trữ trong bảng. Đây không phải là một giới hạn cứng, mà là một gợi ý cho công cụ lưu trữ mà bảng phải có thể lưu trữ ít nhất là nhiều hàng này.
Quan trọng
Việc sử dụng
39 với các bảngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90 để kiểm soát số lượng phân vùng bảng bị phản đối. Nó vẫn được hỗ trợ trong các phiên bản sau để tương thích ngược, nhưng có thể loại bỏ trong một bản phát hành trong tương lai. Sử dụng phân vùng_balance thay thế; Xem cài đặt các tùy chọn NDB_TABLE.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Công cụ lưu trữ
90 coi giá trị này là tối đa. Nếu bạn có kế hoạch tạo các bảng cụm NDB rất lớn [chứa hàng triệu hàng], bạn nên sử dụng tùy chọn này để đảm bảo rằngSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
90 phân bổ đủ số lượng chỉ số trong bảng băm được sử dụng để lưu trữ băm của các phím chính của bảng bằng cách đặtSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
91, trong đóCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
92 là số lượng hàng mà bạn mong đợi sẽ chèn vào bảng.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Giá trị
39 tối đa là 4294967295; Các giá trị lớn hơn được cắt ngắn đến giới hạn này.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
94CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Số lượng hàng tối thiểu bạn dự định lưu trữ trong bảng. Công cụ lưu trữ
40 sử dụng tùy chọn này như một gợi ý về việc sử dụng bộ nhớ.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
96CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Chỉ có hiệu lực với bảng
28. Đặt tùy chọn này thành 1 nếu bạn muốn có các chỉ mục nhỏ hơn. Điều này thường làm cho cập nhật chậm hơn và đọc nhanh hơn. Đặt tùy chọn thành 0 vô hiệu hóa tất cả đóng gói các phím. Đặt nó thànhSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
5 cho biết công cụ lưu trữ chỉ đóng gói dàiCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
00,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
01,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
09 hoặcSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
10.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Nếu bạn không sử dụng
96, mặc định là đóng gói chuỗi, nhưng không phải là số. Nếu bạn sử dụngCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
04, các số cũng được đóng gói.CREATE TABLE new_tbl LIKE orig_tbl;
Khi đóng gói các phím số nhị phân, MySQL sử dụng nén tiền tố:
Every key needs one extra byte to indicate how many bytes of the previous key are the same for the next key.
The pointer to the row is stored in high-byte-first order directly after the key, to improve compression.
This means that if you have many equal keys on two consecutive rows, all following “same” keys usually only take two bytes [including the pointer to the row]. Compare this to the ordinary case where the following keys takes
05 [where the pointer size is usually 4]. Conversely, you get a significant benefit from prefix compression only if you have many numbers that are the same. If all keys are totally different, you use one byte more per key, if the key is not a key that can haveCREATE TABLE new_tbl LIKE orig_tbl;
3 values. [In this case, the packed key length is stored in the same byte that is used to mark if a key isCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
3.]CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
08CREATE TABLE new_tbl LIKE orig_tbl;
This option is unused.
98SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Defines the physical format in which the rows are stored.
When creating a table with strict mode disabled, the storage engine's default row format is used if the specified row format is not supported. The actual row format of the table is reported in the
10 column in response toCREATE TABLE new_tbl LIKE orig_tbl;
11. TheCREATE TABLE new_tbl LIKE orig_tbl;
75 column shows the row format that was specified in theCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
0 statement, as doesCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
65.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Row format choices differ depending on the storage engine used for the table.
For
2 tables:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
The default row format is defined by
16, which has a default setting ofCREATE TABLE new_tbl LIKE orig_tbl;
93. The default row format is used when theSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
98 option is not defined or whenSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
19 is used.CREATE TABLE new_tbl LIKE orig_tbl;
If the
98 option is not defined, or ifSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
19 is used, operations that rebuild a table also silently change the row format of the table to the default defined byCREATE TABLE new_tbl LIKE orig_tbl;
16. For more information, see Defining the Row Format of a Table.CREATE TABLE new_tbl LIKE orig_tbl;
For more efficient
2 storage of data types, especiallyCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
6 types, use theCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
93. See DYNAMIC Row Format for requirements associated with theSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 row format.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
To enable compression for
2 tables, specifyCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28. TheCREATE TABLE new_tbl LIKE orig_tbl;
28 option is not supported when creating temporary tables. See Section 15.9, “InnoDB Table and Page Compression” for requirements associated with theCREATE TABLE new_tbl LIKE orig_tbl;
18 row format.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
The row format used in older versions of MySQL can still be requested by specifying the
14 row format.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
When you specify a non-default
98 clause, consider also enabling theSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
67 configuration option.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
34 is not supported. IfCREATE TABLE new_tbl LIKE orig_tbl;
34 is specified whileCREATE TABLE new_tbl LIKE orig_tbl;
67 is disabled,CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
2 issues a warning and assumesCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38. IfCREATE TABLE new_tbl LIKE orig_tbl;
34 is specified whileCREATE TABLE new_tbl LIKE orig_tbl;
67 is enabled, which is the default,CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
2 returns an error.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
For additional information about
2 row formats, see Section 15.10, “InnoDB Row Formats”.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
For
28 tables, the option value can beSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
92 orSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93 for static or variable-length row format. myisampack sets the type toSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
18. See Section 16.2.3, “MyISAM Table Storage Formats”.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
For
90 tables, the defaultSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
98 isSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
93.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
50CREATE TABLE new_tbl LIKE orig_tbl;
This is an internal-use table option. It was introduced in MySQL 8.0.21 to permit
51 to be logged as a single, atomic transaction in the binary log when using row-based replication with a storage engine that supports atomic DDL. OnlyCREATE TABLE new_tbl LIKE orig_tbl;
52,CREATE TABLE new_tbl LIKE orig_tbl;
53, andCREATE TABLE new_tbl LIKE orig_tbl;
54 statements are permitted afterCREATE TABLE new_tbl LIKE orig_tbl;
55. For related information, see Section 13.1.1, “Atomic Data Definition Statement Support”.CREATE TABLE new_tbl LIKE orig_tbl;
56CREATE TABLE new_tbl LIKE orig_tbl;
Specifies whether to automatically recalculate persistent statistics for an
2 table. The valueCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 causes the persistent statistics setting for the table to be determined by theCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
59 configuration option. The valueCREATE TABLE new_tbl LIKE orig_tbl;
63 causes statistics to be recalculated when 10% of the data in the table has changed. The valueSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
58 prevents automatic recalculation for this table; with this setting, issue anSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
62 statement to recalculate the statistics after making substantial changes to the table. For more information about the persistent statistics feature, see Section 15.8.10.1, “Configuring Persistent Optimizer Statistics Parameters”.CREATE TABLE new_tbl LIKE orig_tbl;
63CREATE TABLE new_tbl LIKE orig_tbl;
Specifies whether to enable persistent statistics for an
2 table. The valueCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5 causes the persistent statistics setting for the table to be determined by theCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
66 configuration option. The valueCREATE TABLE new_tbl LIKE orig_tbl;
63 enables persistent statistics for the table, while the valueSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
58 turns off this feature. After enabling persistent statistics through aSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
4 orCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
01 statement, issue anSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
62 statement to calculate the statistics, after loading representative data into the table. For more information about the persistent statistics feature, see Section 15.8.10.1, “Configuring Persistent Optimizer Statistics Parameters”.CREATE TABLE new_tbl LIKE orig_tbl;
72CREATE TABLE new_tbl LIKE orig_tbl;
Số lượng trang chỉ mục để lấy mẫu khi ước tính tính toán và các số liệu thống kê khác cho một cột được lập chỉ mục, chẳng hạn như các trang được tính bằng
73. Để biết thêm thông tin, xem Phần & NBSP; 15.8.10.1, Cấu hình các tham số thống kê tối ưu hóa liên tục.CREATE TABLE new_tbl LIKE orig_tbl;
20SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Điều khoản
20 có thể được sử dụng để tạo một bảng trong một không gian bảng chung hiện có, một không gian bảng mỗi bảng hoặc không gian bảng hệ thống.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
6SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Không gian bảng chung mà bạn chỉ định phải tồn tại trước khi sử dụng mệnh đề
20. Để biết thông tin về các không gian bảng chung, xem Phần & NBSP; 15.6.3.3, Không gian bảng chung.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
77 là một định danh nhạy cảm trường hợp. Nó có thể được trích dẫn hoặc không được trích dẫn. Nhân vật chém về phía trước [không được phép]. Tên bắt đầu bằng tiếng InnoDB_ được dành riêng cho mục đích sử dụng đặc biệt.“/”] is not permitted. Names beginning with “innodb_” are reserved for special use.CREATE TABLE new_tbl LIKE orig_tbl;
Để tạo một bảng trong không gian bảng hệ thống, chỉ định
78 làm tên bảng không gian.CREATE TABLE new_tbl LIKE orig_tbl;
7SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Sử dụng
79, bạn có thể đặt một bảng của bất kỳ định dạng hàng không nén nào trong không gian bảng hệ thống bất kể cài đặtCREATE TABLE new_tbl LIKE orig_tbl;
86. Ví dụ: bạn có thể thêm một bảng vớiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
38 vào không gian bảng hệ thống bằng cách sử dụngCREATE TABLE new_tbl LIKE orig_tbl;
79.CREATE TABLE new_tbl LIKE orig_tbl;
Để tạo một bảng trong một không gian bảng tệp cho mỗi bảng, chỉ định
86 làm tên không gian bảng.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
8SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Ghi chú
Nếu
86 được bật, bạn không cần chỉ địnhSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
85 để tạo không gian bảngCREATE TABLE new_tbl LIKE orig_tbl;
2 Tệp mỗi bàn. Các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 được tạo trong các không gian bảng tệp theo bảng theo mặc định khiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
86 được bật.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Điều khoản
82 được cho phép vớiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đềCREATE TABLE new_tbl LIKE orig_tbl;
20. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đềSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 phải được biết đếnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Ghi chú
Nếu
86 được bật, bạn không cần chỉ địnhSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
85 để tạo không gian bảngCREATE TABLE new_tbl LIKE orig_tbl;
2 Tệp mỗi bàn. Các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 được tạo trong các không gian bảng tệp theo bảng theo mặc định khiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
86 được bật.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Điều khoản
82 được cho phép vớiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đềCREATE TABLE new_tbl LIKE orig_tbl;
20. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đềSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 phải được biết đếnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Hỗ trợ cho các điều khoản
94 vàCREATE TABLE new_tbl LIKE orig_tbl;
95 vớiCREATE TABLE new_tbl LIKE orig_tbl;
96 được không dùng nữa kể từ MySQL 8.0.13; Hy vọng nó sẽ được loại bỏ trong một phiên bản tương lai của MySQL.CREATE TABLE new_tbl LIKE orig_tbl;
Tùy chọn bảng
14 chỉ được sử dụng với bảngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
90.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
14 Xác định loại lưu trữ được sử dụng [đĩa hoặc bộ nhớ] và có thể làSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
00 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
40.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
02 gán một bảng cho một không gian bảng dữ liệu đĩa NDB. Không gian bảng phải đã được tạo bằngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
03. Xem Phần & NBSP; 23.6.10, Bảng dữ liệu đĩa cụm NDB NDB, để biết thêm thông tin.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Quan trọng
Một mệnh đề
14 không thể được sử dụng trong câu lệnhSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
0 mà không có mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
20.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
07CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Ghi chú
Nếu
86 được bật, bạn không cần chỉ địnhSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
85 để tạo không gian bảngCREATE TABLE new_tbl LIKE orig_tbl;
2 Tệp mỗi bàn. Các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 được tạo trong các không gian bảng tệp theo bảng theo mặc định khiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
86 được bật.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Điều khoản SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
82 được cho phép với CREATE TABLE new_tbl LIKE orig_tbl;
90 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đề SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
20. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
82 phải được biết đến CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.
SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
CREATE TABLE new_tbl LIKE orig_tbl;
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Hỗ trợ cho các điều khoản
CREATE TABLE new_tbl LIKE orig_tbl;
94 và CREATE TABLE new_tbl LIKE orig_tbl;
95 với CREATE TABLE new_tbl LIKE orig_tbl;
96 được không dùng nữa kể từ MySQL 8.0.13; Hy vọng nó sẽ được loại bỏ trong một phiên bản tương lai của MySQL.Tùy chọn bảng
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
14 chỉ được sử dụng với bảng SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
90. SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
14 Xác định loại lưu trữ được sử dụng [đĩa hoặc bộ nhớ] và có thể là CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
00 hoặc SELECT DISTINCT store_type FROM stores
WHERE EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
40.
CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
02 gán một bảng cho một không gian bảng dữ liệu đĩa NDB. Không gian bảng phải đã được tạo bằng CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
03. Xem Phần & NBSP; 23.6.10, Bảng dữ liệu đĩa cụm NDB NDB, để biết thêm thông tin.Quan trọng
Một mệnh đề
14 không thể được sử dụng trong câu lệnhSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
0 mà không có mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
20.SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Ghi chú
Nếu
86 được bật, bạn không cần chỉ địnhSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
85 để tạo không gian bảngCREATE TABLE new_tbl LIKE orig_tbl;
2 Tệp mỗi bàn. Các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 được tạo trong các không gian bảng tệp theo bảng theo mặc định khiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
86 được bật.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
HASH[
29]SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Điều khoản
82 được cho phép vớiSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
90 nhưng nếu không thì không được hỗ trợ để sử dụng kết hợp với mệnh đềCREATE TABLE new_tbl LIKE orig_tbl;
20. Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đềSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 phải được biết đếnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
9SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Bạn không được sử dụng các điều khoản
29 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30 vớiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
31.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28 sử dụng phần còn lại củaCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 chia cho số lượng phân vùng [nghĩa là mô đun]. Để biết ví dụ và thông tin bổ sung, xem Phần & NBSP; 24.2.4, Phân vùng Hash.SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Từ khóa
34 đòi hỏi một thuật toán hơi khác nhau. Trong trường hợp này, số lượng phân vùng trong đó một hàng được lưu trữ được tính là kết quả của một hoặc nhiều hoạt động logicCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
35. Để thảo luận và ví dụ về băm tuyến tính, xem phần & nbsp; 24.2.4.1, phân vùng băm tuyến tính.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
36]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Điều này tương tự như
37, ngoại trừ việc MySQL cung cấp hàm băm để đảm bảo phân phối dữ liệu chẵn. Đối sốCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38 chỉ đơn giản là danh sách 1 cột bảng trở lên [tối đa: 16]. Ví dụ này cho thấy một bảng đơn giản được phân vùng bởi khóa, với 4 phân vùng:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
0SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Đối với các bảng được phân vùng bởi khóa, bạn có thể sử dụng phân vùng tuyến tính bằng cách sử dụng từ khóa
34. Điều này có tác dụng tương tự như với các bảng được phân vùng bởiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
37. Nghĩa là, số phân vùng được tìm thấy bằng toán tửCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
41 chứ không phải là mô đun [xem Phần & NBSP; 24.2.4.1, phân vùng băm tuyến tính, và phần & nbsp; 24.2.5, phân vùng chính, để biết chi tiết]. Ví dụ này sử dụng phân vùng tuyến tính bằng khóa để phân phối dữ liệu giữa 5 phân vùng:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
1SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Tùy chọn
42 được hỗ trợ vớiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
43.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
44 khiến máy chủ sử dụng các chức năng đánh khóa tương tự như MySQL 5.1;CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
45 có nghĩa là máy chủ sử dụng các chức năng khóa chính được triển khai và sử dụng theo mặc định cho các bảng được phân vùngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
70 mới trong MySQL 5.5 trở lên. . Tùy chọn này được sử dụng chủ yếu khi nâng cấp hoặc hạ cấp các bảng được phân vùng giữa các phiên bản MySQL 5.1 và sau này hoặc để tạo các bảng được phân vùng bởiSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
70 hoặcSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
50 trên máy chủ MySQL 5.5 hoặc sau đó có thể được sử dụng trên máy chủ MYSQL 5.1. Để biết thêm thông tin, xem Phần & NBSP; 13.1.9.1, hoạt động phân vùng bảng thay đổi.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
MySQLDump trong MySQL 5.7 [và sau đó] viết tùy chọn này được đặt trong các nhận xét đã được phiên bản, như thế này: in MySQL 5.7 [and later] writes this option encased in versioned comments, like this:
2SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Điều này khiến MySQL 5.6.10 và các máy chủ trước đó bỏ qua tùy chọn, điều này sẽ gây ra lỗi cú pháp trong các phiên bản đó. Nếu bạn có kế hoạch tải một kết xuất được tạo trên máy chủ MySQL 5.7, nơi bạn sử dụng các bảng được phân vùng hoặc phân chia bởi
70 vào máy chủ MySQL 5.6 trước phiên bản 5.6.11, hãy chắc chắn tham khảo các thay đổi trong MySQL 5.6, trước khi tiến hành. .SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Cũng trong MySQL 5.6.11 trở lên,
44 được hiển thị khi cần thiết trong đầu ra củaCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
65 bằng cách sử dụng các nhận xét được phiên bản theo cách tương tự như MySQLDump.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
45 luôn được bỏ qua từ đầu raCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
65, ngay cả khi tùy chọn này được chỉ định khi tạo bảng gốc.mysqldump.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
45 is always omitted fromCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
65 output, even if this option was specified when creating the original table.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Bạn không được sử dụng các điều khoản
29 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30 vớiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
59.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
RANGE[
29]SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Trong trường hợp này,
29 hiển thị một loạt các giá trị bằng cách sử dụng một bộ toán tửSELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
29. Khi sử dụng phân vùng phạm vi, bạn phải xác định ít nhất một phân vùng bằng cách sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29. Bạn không thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30 với phân vùng phạm vi.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Ghi chú
Đối với các bảng được phân vùng bởi
65,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 phải được sử dụng với giá trị theo nghĩa đen của số nguyên hoặc biểu thức đánh giá thành một giá trị số nguyên duy nhất. Trong MySQL 8.0, bạn có thể khắc phục giới hạn này trong một bảng được xác định bằngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
67, như được mô tả sau trong phần này.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Giả sử rằng bạn có một bảng mà bạn muốn phân vùng trên một cột chứa các giá trị năm, theo sơ đồ sau.
Số phân vùng:Phạm vi năm: 0 1990 và sớm hơn 1 1991 đến 1994 2 1995 đến 1998 3 1999 đến 2002 4 2003 đến 2005 5 2006 trở lên Một bảng thực hiện một sơ đồ phân vùng như vậy có thể được thực hiện bằng câu lệnh
0 được hiển thị ở đây:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
69 Tuyên bố hoạt động theo kiểu liên tiếp.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
70 hoạt động để chỉ định các giá trị còn sót lại trên mạng lớn hơn giá trị tối đa được chỉ định khác.“leftover” values that are greater than the maximum value otherwise specified.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 Các mệnh đề hoạt động tuần tự theo cách tương tự như các phần củaCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
72 của khốiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
73 [như được tìm thấy trong nhiều ngôn ngữ lập trình như C, Java và PHP]. Đó là, các điều khoản phải được sắp xếp theo cách mà giới hạn trên được chỉ định trong mỗiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
74 liên tiếp lớn hơn so với số trước, với một lần tham chiếuCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 xuất hiện cuối cùng trong danh sách.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Các cột phạm vi [________ 738]
Biến thể này trên
65 tạo điều kiện cho việc cắt tỉa phân vùng cho các truy vấn sử dụng các điều kiện phạm vi trên nhiều cột [nghĩa là có các điều kiện nhưCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
78 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
79]. Nó cho phép bạn chỉ định phạm vi giá trị trong nhiều cột bằng cách sử dụng danh sách các cột trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80 và một tập hợp các giá trị cột trong mỗi mệnh đề định nghĩa phân vùngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
81]. [Trong trường hợp đơn giản nhất, tập hợp này bao gồm một cột duy nhất.] Số lượng cột tối đa có thể được tham chiếu trongCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38 vàCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
83 là 16.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38 được sử dụng trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80 chỉ có thể chứa tên của các cột; Mỗi cột trong danh sách phải là một trong các loại dữ liệu MySQL sau: các loại số nguyên; các loại chuỗi; và các loại cột thời gian hoặc ngày. Các cột sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
6,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
7,CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
04,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
03,SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
90 hoặc các loại dữ liệu không gian không được phép; Các cột sử dụng các loại số điểm nổi cũng không được phép. Bạn cũng không được sử dụng các hàm hoặc biểu thức số học trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Mệnh đề
29 được sử dụng trong định nghĩa phân vùng phải chỉ định giá trị theo nghĩa đen cho mỗi cột xuất hiện trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
93; nghĩa là, danh sách các giá trị được sử dụng cho mỗi mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 phải chứa cùng số lượng giá trị như có các cột được liệt kê trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80. Một nỗ lực sử dụng nhiều hoặc ít giá trị hơn trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 so với trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80 khiến câu lệnh không thành công với sự không nhất quán trong việc sử dụng danh sách cột để phân vùng .... bạn không thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3 cho bất kỳ giá trị nào xuất hiện trongCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
29. Có thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 nhiều hơn một lần cho một cột nhất định khác với đầu tiên, như được hiển thị trong ví dụ này:Inconsistency in usage of column lists for partitioning.... You cannot useCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3 for any value appearing inCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
29. It is possible to useCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 more than once for a given column other than the first, as shown in this example:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
4SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Mỗi giá trị được sử dụng trong danh sách giá trị
29 phải khớp với loại cột tương ứng chính xác; Không có chuyển đổi được thực hiện. Ví dụ: bạn không thể sử dụng chuỗiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
02 cho một giá trị phù hợp với cột sử dụng loại số nguyên [bạn phải sử dụng sốCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
63 thay thế], bạn cũng không thể sử dụng sốSELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
63 cho một giá trị phù hợp với cột sử dụng loại chuỗi [Trong trường hợp như vậy, bạn phải sử dụng chuỗi được trích dẫn:SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
02].CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Để biết thêm thông tin, hãy xem Phần & NBSP; 24.2.1, Phân vùng Phạm vi và Phần & NBSP; 24.4, Phân vùng cắt tỉa.
LIST[
29]SELECT DISTINCT store_type FROM stores s1 WHERE NOT EXISTS [ SELECT * FROM cities WHERE NOT EXISTS [ SELECT * FROM cities_stores WHERE cities_stores.city = cities.city AND cities_stores.store_type = stores.store_type]];
Điều này rất hữu ích khi gán các phân vùng dựa trên cột bảng với một tập hợp các giá trị có thể hạn chế, chẳng hạn như mã trạng thái hoặc quốc gia. Trong trường hợp như vậy, tất cả các hàng liên quan đến một tiểu bang hoặc quốc gia nhất định có thể được chỉ định cho một phân vùng duy nhất hoặc một phân vùng có thể được dành riêng cho một tập hợp các tiểu bang hoặc quốc gia nhất định. Nó tương tự như
65, ngoại trừ chỉCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
08 có thể được sử dụng để chỉ định các giá trị cho phép cho từng phân vùng.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
30 được sử dụng với danh sách các giá trị được khớp. Chẳng hạn, bạn có thể tạo một sơ đồ phân vùng như sau:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
5SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Khi sử dụng phân vùng danh sách, bạn phải xác định ít nhất một phân vùng bằng
30. Bạn không thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
29 vớiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
12.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Ghi chú
Đối với các bảng được phân vùng bởi
13, danh sách giá trị được sử dụng vớiCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
30 phải chỉ bao gồm các giá trị số nguyên. Trong MySQL 8.0, bạn có thể khắc phục giới hạn này bằng cách sử dụng phân vùng bởiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
15, được mô tả sau trong phần này.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Danh sách Cột [________ 738]
Biến thể này trên
13 tạo điều kiện cho việc cắt tỉa phân vùng cho các truy vấn sử dụng các điều kiện so sánh trên nhiều cột [nghĩa là có các điều kiện nhưCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
18 hoặcCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
19]. Nó cho phép bạn chỉ định các giá trị trong nhiều cột bằng cách sử dụng danh sách các cột trong mệnh đềCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
80 và một tập hợp các giá trị cột trong mỗi phân vùng ... giá trị trong [CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
83] mệnh đề định nghĩa phân vùng.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
PARTITION ... VALUES IN [
partition definition clause.
83]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Các quy tắc quản lý các loại dữ liệu cho danh sách cột được sử dụng trong các cột danh sách [____ 738] và danh sách giá trị được sử dụng trong các giá trị trong [____ 783] giống như các danh sách được sử dụng trong các cột phạm vi [________ 738] và danh sách giá trị được sử dụng trong Các giá trị nhỏ hơn [____ 783], tương ứng, ngoại trừ trong mệnh đề
30,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 không được phép và bạn có thể sử dụngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
LIST COLUMNS[
and the value list used in
38]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
VALUES IN[
are the same as those for the column list used in
83]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
RANGE COLUMNS[
and the value list used in
38]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
VALUES LESS THAN[
, respectively, except that in the
83]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30 clause,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
75 is not permitted, and you may useCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
3.CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Có một sự khác biệt quan trọng giữa danh sách các giá trị được sử dụng cho
30 vớiCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
30 trái ngược với khi nó được sử dụng vớiCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
31. Khi được sử dụng vớiCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
32, mỗi phần tử trong mệnh đềCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
30 phải là một tập hợp các giá trị cột; Số lượng giá trị trong mỗi tập hợp phải giống với số lượng cột được sử dụng trong mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80 và các loại dữ liệu của các giá trị này phải khớp với các cột của các cột [và xảy ra theo cùng một thứ tự]. Trong trường hợp đơn giản nhất, tập hợp bao gồm một cột duy nhất. Số lượng cột tối đa có thể được sử dụng trongCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38 và trong các yếu tố tạo thànhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
83 là 16.set of column values; the number of values in each set must be the same as the number of columns used in theCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
80 clause, and the data types of these values must match those of the columns [and occur in the same order]. In the simplest case, the set consists of a single column. The maximum number of columns that can be used in theCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38 and in the elements making up theCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
83 is 16.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Bảng được xác định bởi câu lệnh
4 sau đây cung cấp một ví dụ về bảng bằng cách sử dụng phân vùngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
38:CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
6SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Phân vùng
21CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Số lượng phân vùng có thể tùy chọn được chỉ định với mệnh đề phân vùng
21, trong đóCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21 là số lượng phân vùng. Nếu cả mệnh đề này và bất kỳ mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
42 nào được sử dụng,CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
21 phải bằng tổng số phân vùng được khai báo bằng các mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
42.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
PARTITIONS
clause, where
21CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
21 is the number of partitions. If both this clause and anyCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
42 clauses are used,CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
21 must be equal to the total number of any partitions that are declared usingCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
42 clauses.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Ghi chú
Cho dù bạn có sử dụng mệnh đề
45 trong việc tạo bảng được phân vùng bởiCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
65 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
13, bạn vẫn phải bao gồm ít nhất một mệnh đềCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
48 trong định nghĩa bảng [xem bên dưới].CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
49CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Một phân vùng có thể tùy chọn được chia thành một số phần con. Điều này có thể được chỉ định bằng cách sử dụng mệnh đề
49 tùy chọn. Phân chia có thể được thực hiện bởiCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
37 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
70. Một trong những điều này có thể làSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
34. Chúng hoạt động theo cùng một cách như được mô tả trước đây cho các loại phân vùng tương đương. [Không thể phân chia theoCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
13 hoặcCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
65.]CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Số lượng các phần con có thể được chỉ định bằng cách sử dụng từ khóa
56 theo sau là giá trị số nguyên.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Kiểm tra nghiêm ngặt giá trị được sử dụng trong các điều khoản
45 hoặcCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
56 được áp dụng và giá trị này phải tuân thủ các quy tắc sau:CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Giá trị phải là một số nguyên dương, khác nhau.
Không có số không hàng đầu được phép.
Giá trị phải là một số nguyên theo nghĩa đen và không thể là một biểu thức. Ví dụ,
59 không được phép, mặc dùCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
60 đánh giá thànhCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
61. [Lỗi #15890]CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
62CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Mỗi phân vùng có thể được xác định riêng lẻ bằng mệnh đề
63. Các bộ phận riêng lẻ tạo ra mệnh đề này như sau:CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
64CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Chỉ định một tên hợp lý cho phân vùng.
65CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Đối với phân vùng phạm vi, mỗi phân vùng phải bao gồm mệnh đề
29; Để phân vùng danh sách, bạn phải chỉ định mệnh đềCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
08 cho mỗi phân vùng. Điều này được sử dụng để xác định các hàng nào sẽ được lưu trữ trong phân vùng này. Xem các cuộc thảo luận về các loại phân vùng trong Chương & NBSP; 24, Phân vùng, để biết các ví dụ cú pháp.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
68CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
MySQL chấp nhận tùy chọn
68 cho cảCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
42 vàCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
71. Hiện tại, cách duy nhất để tùy chọn này có thể được sử dụng là đặt tất cả các phân vùng hoặc tất cả các phần con cho cùng một công cụ lưu trữ và cố gắng đặt các công cụ lưu trữ khác nhau cho các phân vùng hoặc phân vùng trong cùng một bảng làm tăng lỗi lỗi 1469 [HY000] : Sự kết hợp của các trình xử lý trong các phân vùng không được phép trong phiên bản MySQL này.ERROR 1469 [HY000]: The mix of handlers in the partitions is not permitted in this version of MySQL.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
83SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một mệnh đề
83 tùy chọn có thể được sử dụng để chỉ định một chuỗi mô tả phân vùng. Thí dụ:SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
7SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Độ dài tối đa cho một nhận xét phân vùng là 1024 ký tự.
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83 có thể được sử dụng để chỉ ra thư mục trong đó, tương ứng, dữ liệu và chỉ mục cho phân vùng này sẽ được lưu trữ. CảSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
78 vàCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
79 phải là tên đường dẫn hệ thống tuyệt đối.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Kể từ MySQL 8.0.21, thư mục được chỉ định trong mệnh đề
82 phải được biết đếnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
2. Để biết thêm thông tin, hãy xem bằng cách sử dụng mệnh đề thư mục dữ liệu.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
Bạn phải có đặc quyền
97 để sử dụng tùy chọn phân vùngSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
82 hoặcSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
99.SELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
Thí dụ:
8SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83 hoạt động theo cách tương tự như trong Điều khoảnSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
88 của câu lệnhCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
0 như được sử dụng cho các bảngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
28.SELECT DISTINCT store_type FROM stores WHERE EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Một thư mục dữ liệu và một thư mục chỉ mục có thể được chỉ định trên mỗi phân vùng. Nếu không được xác định, dữ liệu và chỉ mục được lưu trữ theo mặc định trong thư mục cơ sở dữ liệu của bảng.
Các tùy chọn
82 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
83 bị bỏ qua để tạo các bảng được phân vùng nếuSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
92 có hiệu lực.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
39 vàSELECT column1 FROM t1 WHERE EXISTS [TABLE t2];
94CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [create_definition,...] [table_options] [partition_options] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [[create_definition,...]] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expression CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name | [LIKE old_tbl_name] } create_definition: { col_name column_definition | {INDEX | KEY} [index_name] [index_type] [key_part,...] [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] [key_part,...] [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [col_name,...] reference_definition | check_constraint_definition } column_definition: { data_type [NOT NULL | NULL] [DEFAULT {literal | [expr]} ] [VISIBLE | INVISIBLE] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ENGINE_ATTRIBUTE [=] 'string'] [SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] [STORAGE {DISK | MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS [expr] [VIRTUAL | STORED] [NOT NULL | NULL] [VISIBLE | INVISIBLE] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] [check_constraint_definition] } data_type: [see Chapter 11, Data Types] key_part: {col_name [[length]] | [expr]} [ASC | DESC] index_type: USING {BTREE | HASH} index_option: { KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE} |ENGINE_ATTRIBUTE [=] 'string' |SECONDARY_ENGINE_ATTRIBUTE [=] 'string' } check_constraint_definition: [CONSTRAINT [symbol]] CHECK [expr] [[NOT] ENFORCED] reference_definition: REFERENCES tbl_name [key_part,...] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT table_options: table_option [[,] table_option] ... table_option: { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'string' | COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'} | CONNECTION [=] 'connect_string' | {DATA | INDEX} DIRECTORY [=] 'absolute path to directory' | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {'Y' | 'N'} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] 'string' | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | START TRANSACTION | SECONDARY_ENGINE_ATTRIBUTE [=] 'string' | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}] | UNION [=] [tbl_name[,tbl_name]...] } partition_options: PARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] | RANGE{[expr] | COLUMNS[column_list]} | LIST{[expr] | COLUMNS[column_list]} } [PARTITIONS num] [SUBPARTITION BY { [LINEAR] HASH[expr] | [LINEAR] KEY [ALGORITHM={1 | 2}] [column_list] } [SUBPARTITIONS num] ] [[partition_definition [, partition_definition] ...]] partition_definition: PARTITION partition_name [VALUES {LESS THAN {[expr | value_list] | MAXVALUE} | IN [value_list]}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [[subpartition_definition [, subpartition_definition] ...]] subpartition_definition: SUBPARTITION logical_name [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] query_expression: SELECT ... [Some valid select or union statement]
Có thể được sử dụng để chỉ định, tương ứng, số lượng hàng tối đa và tối thiểu sẽ được lưu trữ trong phân vùng. Các giá trị cho
95 vàCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
96 phải là số nguyên dương. Như với các tùy chọn cấp bảng có cùng tên, những người này chỉ hoạt động như các đề xuất của Cameron đối với máy chủ và không phải là giới hạn khó khăn.“suggestions” to the server and are not hard limits.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
20SELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
Có thể được sử dụng để chỉ định một không gian bảng
2 cho mỗi bảng cho phân vùng bằng cách chỉ địnhCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
99. Tất cả các phân vùng phải thuộc về cùng một công cụ lưu trữ.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Đặt các phân vùng bảng ____72 trong các không gian bảng được chia sẻ
2 không được hỗ trợ. Không gian bảng chia sẻ bao gồm không gian bảng hệ thốngCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
2 và không gian bảng chung.CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
03CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
Định nghĩa phân vùng có thể tùy chọn chứa một hoặc nhiều mệnh đề
04. Mỗi trong số này bao gồm ở mức tối thiểu củaCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
05, trong đóCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
06 là một định danh cho phần phụ. Ngoại trừ việc thay thế từ khóaCREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
42 bằngCREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
71, cú pháp cho một định nghĩa phân nhóm là giống hệt với định nghĩa phân vùng.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Phân chia phải được thực hiện bởi
37 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
70 và chỉ có thể được thực hiện trên các phân vùngSELECT DISTINCT store_type FROM stores WHERE NOT EXISTS [SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type];
65 hoặcCREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
13.Xem Phần & NBSP; 24.2.6, Subpartitioning.CREATE TABLE t [c CHAR[20] CHARACTER SET utf8mb4 COLLATE utf8mb4_bin];
Phân vùng theo các cột được tạo
Phân vùng theo các cột được tạo được cho phép.Ví dụ:
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS [SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type];
9Phân vùng coi một cột được tạo là một cột thông thường, cho phép giải quyết các hạn chế về các chức năng không được phép phân vùng [xem Phần & NBSP; 24.6.3, giới hạn phân vùng liên quan đến các chức năng].Ví dụ trước cho thấy kỹ thuật này:
CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
13 không thể được sử dụng trực tiếp trong mệnh đề CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
18, nhưng một cột được tạo được xác định bằng cách sử dụng CREATE TABLE test [blob_col BLOB, INDEX[blob_col[10]]];
13 được cho phép.