此篇主要介绍数据库中表的操作。数据库是表的容器,表,必须输入某个数据库,因此在创建表之前要指明数据库。
1.表的创建
列定义: 列名 列的数据类型 [列的属性(约束)]
创建表的SQL命令:create table 表名(列结构) [表选项];
查看表的定义,可以用DESCRIBE命令。也可以简写为DESC命令。
查看表的详细定义,可以使用 SHOW CREATE TABLE语句。
2.删除表的语句
SQL命令:DROP TABLE table_name;
可以看到执行删除表的命令之后,数据库中删除的表不存在了。
3.修改表的语句
SQL命令: ALTER TABLE old_table_name RENAME [TO] new_table_name;
增加字段:
在表的第一个位置增加字段:SQL命令 ALTER TABLE table_name ADD 属性名 属性类型。
在表的最后一个位置增加字段:SQL命令 ALTER TABLE table_name ADD 属性名 属性类型。
在表的指定字段之后增加字段:
SQL命令: ALTER TABLE table_name
ADD 属性名 属性类型 AFTER 属性名
删除字段:SQL命令: ALTER TABLE table_name DROP 属性名
修改字段
修改字段的数据类型: SQL命令:ALTER TABLE table_name MODIFY 属性名 数据类型。
修改字段的名字:SQL命令:ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧数据类型。
同时修改字段的属性和名字:SQL命令:ALTER TABLE table_name CHANGE 旧属性名 新属性名 新数据类型。
修改字段的顺序:
将字段调整到表的第一个位置,SQL命令:ALTER TABLE table_name MODIFY 属性名1 数据类型 FIRST;
将字段调整到属性名为某一个字段的位置之后。SQL命令:ALTER TABLE table_name 属性名1 数据类型 AFTER 属性名2.
4.表的约束
MYSQL支持的完整性约束:
所谓完整性是指数据的准确性和一致性,完整性检查是指检查数据的准确性和一致性。
MYSQL软件所支持的完整性约束如下:
完整性约束关键字 含义
NOT NULL 约束字段的值不能为空
DEFAULT 设置字段的默认值
UNIQUE KEY 约束字段的值是唯一的
PRIMARY KEY 约束字段为表的主键,可以作为该表记录的唯一标识
AUTO_INCREMENT 约束字段的值为自动增加
FOREIGN KEY 约束字段为表的外键
设置唯一约束-----若想给字段上的UK约束设置一个名字,可以执行SQL语句CONSTRAINT,如下:
外键约束要保证多个表(通常是两个表)之间的参照完整性,即构建于两个表的两个字段之间的参照关系。
在具体设置FK约束时,设置FK约束的字段必须依赖于数据库中已经存在的父表的主键,外键可以为NULL。
语法形式:
create table table_name(
....
constraint 外键约束名 foreign key (属性名1)
references 表名 (属性名2)
);