语法

CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的

CREATE [临时表] TABLE <表名> ([表定义选项])[表选项][分区选项];CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[table_options][partition_options]
  • CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限
  • [临时表],创建的是临时表,仅在当前会话中可见,并且在关闭会话时会自动删除
  • <表名>,指定数据库是mydb.mytable,半角下的“点”,当前数据库是mytable,mydb和mytable只要符合标识符命名规则就行;如果表存在会出现错误,可以在表名前使用IF NOT EXISTS
  • [表定义选项],由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成,<列名1> <类型1> [,…] <列名n> <类型n>,多个列,要用逗号隔开
  • [表选项],NOT NULL(列的值不能为null)、CHECK(检查是否满足条件可以插入)、DEFAULT(默认值)、PRIMARY KEY(唯一索引主键)、FOREIGN KEY(外键)等等
  • [分区选项],PARTITION BY、HASH、RANGE等

实例

mysql> CREATE TABLE test_db.t_create_table (-> r_name varchar(100) NULL,-> r_sex varchar(5) NULL,-> r_type varchar(5) NULL,-> r_no varchar(100) NULL-> )-> ENGINE=InnoDB-> DEFAULT CHARSET=utf8mb4-> COLLATE=utf8mb4_general_ci-> COMMENT='';
Query OK, 0 rows affected (0.03 sec)mysql> show create table test_db.t_create_table \G
*************************** 1. row ***************************Table: t_create_table
Create Table: CREATE TABLE `t_create_table` (`r_name` varchar(100) DEFAULT NULL,`r_sex` varchar(5) DEFAULT NULL,`r_type` varchar(5) DEFAULT NULL,`r_no` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 row in set (0.00 sec)mysql> desc test_db.t_create_table;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| r_name | varchar(100) | YES  |     | NULL    |       |
| r_sex  | varchar(5)   | YES  |     | NULL    |       |
| r_type | varchar(5)   | YES  |     | NULL    |       |
| r_no   | varchar(100) | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Reference

官方 CREATE TABLE Statement

HELP详情

mysql> help create table;
Name: 'CREATE TABLE'
Description:
Syntax:
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_expressionCREATE [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 (expr)
}column_definition: {data_type [NOT NULL | NULL] [DEFAULT default_value][AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY][COMMENT 'string'][COLLATE collation_name][COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}][STORAGE {DISK | MEMORY}][reference_definition]| data_type[COLLATE collation_name][GENERATED ALWAYS] AS (expr)[VIRTUAL | STORED] [NOT NULL | NULL][UNIQUE [KEY]] [[PRIMARY] KEY][COMMENT 'string'][reference_definition]
}data_type:(see https://dev.mysql.com/doc/refman/5.7/en/data-types.html)key_part:col_name [(length)] [ASC | DESC]index_type:USING {BTREE | HASH}index_option: {KEY_BLOCK_SIZE [=] value| index_type| WITH PARSER parser_name| COMMENT 'string'
}   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 DEFAULTtable_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)CREATE TABLE creates a table with the given name. You must have the
CREATE privilege for the table.By default, tables are created in the default database, using the
InnoDB storage engine. An error occurs if the table exists, if there is
no default database, or if the database does not exist.MySQL has no limit on the number of tables. The underlying file system
may have a limit on the number of files that represent tables.
Individual storage engines may impose engine-specific constraints.
InnoDB permits up to 4 billion tables.For information about the physical representation of a table, see
https://dev.mysql.com/doc/refman/5.7/en/create-table-files.html.URL: https://dev.mysql.com/doc/refman/5.7/en/create-table.html

MySQL数据表操作-创建数据表(CREATE TABLE)相关推荐

  1. SQL2K数据库开发六之表操作创建产品表products

    1.在SQL Server企业管理器中的数据库下的"表"节点上右击鼠标,在弹出的菜单上点击"新建表". 2.在出现的表设计器中,为表中加入五个列:Product ...

  2. mysql创建销售表_MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

  3. MySQL(10)--- 创建数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  4. mysql数据表操作_MySQL数据表基本操作实例详解

    本文实例讲述了MySQL数据表基本操作.分享给大家供大家参考,具体如下: 数据表的基本操作 1.主键约束要求主键列的数据唯一,并且不允许为空.主键能够唯一地识别表中的一条记录,可以结合外键来定义不同数 ...

  5. mysql创建备份表sql_sql创建备份表和复制数据到备份表

    1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable ...

  6. 表操作,数据操作,单表查询,python操作数据库

    1.表操作 创建 create table 删除 drop table 查看表结构 desc 表/show create table 表 修改 alter table 表名 rename 新表名 al ...

  7. hive删除hbase数据_Hive进阶:Hive通过外部表操作Hbase数据

    概述: HBase: 查询效率比较高,常为实时业务提供服务,但是其查询方式比较单一,只能通过row方式get单条数据,或者通过scan加过滤器的方式扫描数据表获取数据. Hive: hive用来存储结 ...

  8. mysql 创建删除表_mysql创建删除表的的详细解析

    本文主要介绍MySQL.html "target =" _ blank "> MySQL对创建删除表的详细分析.我希望作者收集的相关知识和数据对你有所帮助.创建 表 ...

  9. 依照表结构创建student表设置sno为主键_7.MySQL库表的创建与修改

    自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...

最新文章

  1. 练手WPF(三)——扫雷小游戏的简易实现(中)
  2. 【数据库】PLSQL Developer出现ORA-12541TNS no listener错误解决方法
  3. 数据结构与算法--第一个只出现一次的字符
  4. autoconf常用宏
  5. nginx ---- Nginx服务器基础配置实例
  6. 基金盘后业务的详细设置
  7. win7下手动配置apache+ php + mysql 记
  8. SQL语句中的rank () over , row_number() over ,rank_dense ()
  9. 树莓派学习路程No.2 GPIO功能初识 wiringPi安装
  10. Atitti 文本分类  以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案
  11. 【BZOJ】3436: 小K的农场
  12. MicroSip客户端编译、运行
  13. 【JS基础】JavaScript语言简介及简单例子
  14. 安卓开发 监听系统语言切换
  15. 理解分布函数(概率论)
  16. EMCP  物联网云平台萤石云密钥功能使用手册
  17. 极米Z6X Pro值得购买吗?这篇评测告诉你
  18. javascript(一)
  19. 网站选择关键词需要遵循哪些原则呢?
  20. java 相关论坛或网站

热门文章

  1. 这个时代,文学还能做到“洛阳纸贵”?
  2. android 手机存储空间 进度条,Android 进度条
  3. dev 编译时stray 241 in program错误
  4. Win8系统下,如何一键找回Win7的经典开始菜单。
  5. 12306订票抢票攻略:2013春节我要回家
  6. php cpu主频,cpupower命令 – 调整CPU主频
  7. win7用计算机名共享打印机,win7局域网打印机共享设置(win10共享打印机设置方法)...
  8. snmp trap 如何在浏览器中_SNMP TRAP报文解析
  9. Python实现摄像头拍照的方法
  10. 学生信息管理系统(免费)