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新手上路(八)
Oct 09 PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
php程序的国际化实现方法(利用gettext)
Aug 14 PHP
php文件上传的简单实例
Oct 19 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
PHP多维数组排序array详解
Nov 21 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 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
php删除指定目录的方法
2015/04/03 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
php实现微信扫码支付
2017/03/26 PHP
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
Vue2.0权限树组件实现代码
2017/08/29 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
python机器学习实战之K均值聚类
2017/12/20 Python
Python入门学习指南分享
2018/04/11 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python中的self用法详解
2019/08/06 Python
Python实现时间序列可视化的方法
2019/08/06 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
小学元宵节活动总结
2015/02/06 职场文书
监理中标通知书
2015/04/16 职场文书
二年级数学教学反思
2016/02/16 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android