MySQL中create table语句的基本语法是


Posted in PHP onJanuary 15, 2007

MySQL中create table语句的基本语法是: 
Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] 
[table_options] [select_statement] 
TEMPORARY:该关键字表示用create table新建的表为临时表,此表在当前会话结束后将自动消失。临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字一般不用。 
IF NOT EXISTS:实际上是在建表前加上一个判断,只有该表目前尚不存在时才执行create table操作。用此选项可以避免出现表已经存在无法再新建的错误。 
tbl_name:你所要创建的表的表名。该表名必须符合标识符规则。通常的做法是在表名中仅使用字母、数字及下划线。例如titles、our_sales、my_user1等都应该算是比较规范的表名。 
create_definition:这是create table语句中关键部分所在。在该部分具体定义了表中各列的属性。 
create_definition的基本语句是: 
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] 
[PRIMARY KEY] [reference_definition] 
or PRIMARY KEY (index_col_name,...) 
or KEY [index_name] (index_col_name,...) 
or INDEX [index_name] (index_col_name,...) 
or UNIQUE [INDEX] [index_name] (index_col_name,...) 
or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...) 
[reference_definition] 
or CHECK (expr) 
col_name:表中列的名字。必须符合标识符规则,而且在表中要唯一。 
type:列的数据类型。有的数据类型需要指明长度n,并用括号括起。目前MySQL提供的数据类型详见MySQL进阶_列类型篇。 
NOT NULL | NULL:指定该列是否允许为空。如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL。 
DEFAULT default_value:为列指定默认值。如果没有为列指定默认值,MySQL自动地分配一个。如果列可以取NULL作为值,缺省值是NULL。如果列被声明为NOT NULL,缺省值取决于列类型: 1、对于没有声明AUTO_INCREMENT属性的数字类型,缺省值是0。对于一个AUTO_INCREMENT列,缺省值是在顺序中的下一个值。 2、对于除TIMESTAMP的日期和时间类型,缺省值是该类型适当的“零”值。对于表中第一个TIMESTAMP列,缺省值是当前的日期和时间。3、对于除ENUM的字符串类型,缺省是空字符串。对于ENUM,缺省值是第一个枚举值。 
AUTO_INCREMENT:设置该列有自增属性,只有整型列才能设置此属性。当你插入NULL值或0到一个AUTO_INCREMENT列中时,列被设置为value+1,在这里value是此前表中该列的最大值。AUTO_INCREMENT顺序从1开始。每个表只能有一个AUTO_INCREMENT列,并且它必须被索引。

PHP 相关文章推荐
php代码优化及php相关问题总结
Oct 09 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
memcache命令启动参数中文解释
Jan 13 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
imagettftext() 失效,不起作用
Mar 09 PHP
php生成文件
Jan 15 #PHP
MYSQL环境变量设置方法
Jan 15 #PHP
PHP has encountered an Access Violation
Jan 15 #PHP
PHP5 安装方法
Jan 15 #PHP
安装APACHE
Jan 15 #PHP
php5.2时间相差8小时
Jan 15 #PHP
isset和empty的区别
Jan 15 #PHP
You might like
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP 错误处理机制
2015/07/06 PHP
jQuery 1.0.2
2006/10/11 Javascript
用javascript自动显示最后更新时间
2007/03/15 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
Django异步任务线程池实现原理
2019/12/17 Python
NumPy统计函数的实现方法
2020/01/21 Python
Python类及获取对象属性方法解析
2020/06/15 Python
用python实现名片管理系统
2020/06/18 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
简历的个人自我评价范文
2014/01/03 职场文书
通知书大全
2015/04/27 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL