操作表
创建表
1.use 数据库名; 注:不要忘记写";"。
create table 表名(属性名 数据类型(长度) [完整性约束],
属性名 数据类型(长度) [完整性约束],
...);
注:不要忘记写";"。
事例:
创建表的主键
什么是主键
特殊的字段,能够唯一标识每条记录,不能重复
创建主键的目的
为了让mysql能以最快的速度查找到该记录
如何创建主键
单字段主键
语法:属性名 数据类型 primary key
例子:
多字段主键
语法: primary key(属性 1 ...... 属性 n)
如何创建表的外键
外键:与父表建立关系的字段
原则:必须依赖于父表已存在的主键
目的:保证数据的完整性
A user_id 1001
B user_id score 1001 90
语法: constraint 外键别名 foreign key(字段1.1,字段1.2)references 主表名(字段2.1,字段2.2)
字段 2-->主键的主键列
例子:
注意:外键一定要和主表主键的类型一致
创建表的相关完整性约束
-
非空约束
语法: 属性名 类型 not null
-
唯一约束
语法:属性名 类型 unique
-
自增长
语法:属性名 类型 auto_increment
(要求:类型必须是整形)
(注意:如果插入到最后一个标识为7,删除掉这个‘7’后,后续则从8开始)
-
默认值
语法:属性名 类型 default 默认值
例子:
查看表结构
-
基本结构
语法:
describe 表名;
可简写: desc 表名;
例子:
- 详细结构
语法:show create table 表名;
例子:
详细结构美化: 在语句后加上 \G(ps:一定要是大写的G)
修改表
-
修改表名
语法: alter table 旧的表名 rename [to] 新的表名;
例子:
-
查看当前数据库下所有的表
语法: show tables;
例子:
修改字段
-
修改字段类型
语法: alter table 表名 change 旧属性名 新属性名 属性类型
例子:
- 修改字段名和类型
语法: alter table 表名 change 旧属性名 新属性名 属性类型
例子:
新增字段
语法: alter table 表名 add 新属性名 新属性类型 [完整性约束] [find | after 原有字段]
-
新增无完整性约束的字段
例子:
-
新增有完整性约束的字段
例子:
-
将字段添加到第一位
例子:
-
将字段添加到某个字段之后
例子:
删除字段
语法: alter table 表名 drop 属性名
例子:
修改字段排列顺序
-
将字段修改到首位
语法: alter table 表名 modify 属性名 属性类型 [完整性约束][first]
例子:
-
将字段修改到指定位置
语法: alter table 表名 modify 属性名 属性类型 [完整性约束][after 原有字段]
例子:
删除外键
语法:alter table 表名 drop foreign key 外键名
例子:
删除表
语法: drop table 表名
例子:
注意:
1.在删除表的时候要谨慎,以避免误删,导致数据丢失,所以在删除前最好做好备份工作
2.在删除表时,如果当前表存在外键,则先删除外键,再删除该表
3.在删除有关外键表时,则先删除子表[存在外键的表],再删除主表