一、创建表( 一、创建表(CREATE TABLE )
1、表名的 命名规则:
² 表名首字母应该为字母
² 不能使用 MySQL 保留字为表名
² 表名最大长度为 128 个字符
² 同一数据库中的不同表不能具有相同的名称
² 可以使用下划线、数字、字母、@、#和$符号组成,其中字母可以是 26 个英文字
母或其他语言的字母字符,但不能使用空格和其他特殊字符
2、MySQL 数据库中 常用的数据类型,这里讲的有表格清楚
http://www.cnblogs.com/pingfan21/p/9124208.html
3、MySQL 数据库中 表的完整性约束
5 种:PRIMARY KEY、FOREIGN KEY、UNIQUE、NOT NULL、DEFAULT
4、创建语法:
CREATE TABLE [IF NOT EXISTS] <表名>
(<字段名 1><类型(长度)> [字段级约束],
<字段名 2><类型(长度)> [字段级约束],
…
<字段名 n><类型(长度)> [字段级约束]
[表级约束]
)
注意事项:
l 建表顺序:先建主表,再建子表,删除则反之。
l 非空和默认约束只能设成字段级的
l 若主键由多个属性组成, 主键约束要定义成表级的,格式为:
PRIMARY KEY(主键)
l 外键约束要定义在下面,格式为:
FOREIGN KEY(外键) REFERENCES 父表名(被参照的字段名)
① 父表和子表必须使用相同的存储引擎,存储引擎只能为 InnoDB,而且禁止
使用临时表
② 外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号
位必须相同,而字符的长度则可以不同(有的 DBMS 要求完全一样的数据
类型),建议外键列和参照列数据类型完全一致。
③ 外键约束的参数说明
² **CASCADE:**从父表删除或更新记录时,自动删除或更新子表中匹配的行
² SET NULL: 从父表删除或更新行,并设置子表中的外键列为 NULL。
如果使用该选项,必须保证子表中该列没有指定 NOT NULL
² **RESTRICT:**拒绝对父表的删除或更新操作(不定义 ON DELETE 和 ON
UPDATE 时这是默认设置,)
² NO ACTION:什么也不做
l 设表的字段值自动增加(AUTO_INCREMENT )
① 该字段必须是整数类型
② 必须设该字段为主键