mysql 建表语法
2020-04-22 11:43
323 查看
mysql 建表语法
[code]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)} ] [AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] [COMMENT 'string'] [COLLATE collation_name] [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}] [STORAGE {DISK|MEMORY}] [reference_definition] [check_constraint_definition] | data_type [COLLATE collation_name] [GENERATED ALWAYS] AS (expr) [VIRTUAL | STORED] [NOT NULL | NULL] [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} 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: 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 | 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} | 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)
最简单的:
[code]CREATE TABLE t1( id int not null, name char(20) );
带主键的:
[code]CREATE TABLE t2 ( id int not null AUTO_INCREMENT PRIMARY KEY , name char(10) null DEFAULT '', address varchar(128) null default null );
复合主键:
[code]create TABLE t3( id int not null, name char(10) not null, PRIMARY key (id, name) );
主键唯一键:
[code]CREATE TABLE t4 ( id INT NOT NULL, NAME CHAR (10) NOT NULL, PRIMARY KEY (id), UNIQUE KEY (NAME) ) ENGINE = INNODB auto_increment 1 DEFAULT CHARSET = 'utf8';
带普通索引:
[code]CREATE TABLE t5 ( id INT NOT NULL, NAME CHAR (10) NOT NULL, address VARCHAR (128), tel VARCHAR (20), PRIMARY KEY (id), UNIQUE KEY (NAME), KEY address_index (address), INDEX tel_index (tel) ) ENGINE = INNODB auto_increment 1 DEFAULT CHARSET = 'utf8';
like复制表:
[code]create table t6 LIKE t1
- as复制表:
[code]create TABLE t7 as select * from t1;
- 带字符编码:
[code]CREATE TABLE t8 (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
- 指定索引类型:
[code]CREATE TABLE t9 (id INT, INDEX USING BTREE(id));
- hash分区:
[code]CREATE TABLE t10 ( column_1 int, column_2 INT ) PARTITION by HASH(column_1)
带分区:
[code]CREATE TABLE t11 ( year_col INT, some_data INT ) PARTITION BY RANGE (year_col) ( PARTITION p0 VALUES LESS THAN (1991), PARTITION p1 VALUES LESS THAN (1995), PARTITION p2 VALUES LESS THAN (1999), PARTITION p3 VALUES LESS THAN (2002), PARTITION p4 VALUES LESS THAN (2006), PARTITION p5 VALUES LESS THAN MAXVALUE ); CREATE TABLE t12 ( col1 INT, col2 CHAR (5), col3 DATE ) PARTITION BY KEY (col3) PARTITIONS 4; CREATE TABLE t13 ( col1 INT, col2 CHAR (5), col3 DATE ) PARTITION BY LINEAR KEY (col3) PARTITIONS 5;
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- mysql基本操作语法
- MySQL 建表语法
- mysql 存储过程,搞死人的语法
- mysql存储过程语法及实例
- mysql 基本操作 选择合适的引擎 选择索引、视图语法(第三章)
- MySQL创建索引语法
- mysql 导入导出csv文件数据语法
- mysql "ON DUPLICATE KEY UPDATE" 语法
- 关于MySQL的LIMIT 语法小优化!
- [SqlHandle] java mysql语法 sql语句拼接工具简类
- mysql 和 mongo db 语法对比
- mysql 执行计划 Explain语法
- MySQL简单语法(8)
- MySql存储过程及MySql常用流程控制语法
- Mysql Join语法解析与性能分析
- MYSQL 存储过程语法入门
- MySQL的一些基本语法(7)-查询数据
- MySql insert into 的两种语法
- Mysql join语法解析与性能分析
- 执行mysql添加权限语法,报错提示:ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 42, found 39. C