1. 查看表基本结构
可简写 DESC 表名;
Null:是否可用存储Null值
Key:该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次
Default:该列是否有默认值,为多少
Extra:获取与给定列有关的附件信息,如:属性值自增
2. 查看表详细结构
-------------------------------------------------
1.修改表名
alter table (旧表名) rename to (新表名);
to为可选参数,使用与否不影响结果
2. 修改字段的数据类型
alter table (表名) modify (字段名) (数据类型);
tb_dept1中的name由varchar(22) 改为varchar(30)
3. 修改字段名
alter table (表名) change (旧字段名) (新字段名) (数据类型);
此处的数据类型即使不修改也不能为空,填写之前的数据类型
将location字段名称改为loc,数据类型保持不变
change也可以只修改数据类型,实现和modify同样的效果,只是把旧字段名和新字段名设置为相同的名称
由于不同类型的数据在机器中存储的方式及长度不同,修改数据类型可能会影响到表中已有的数据记录,当表中有数据时,最好不要修改数据类型
4. 添加字段
alter table (表名) add (新字段名) (数据类型) (约束条件) (first|after 已存在字段名);
(first|after 已存在字段名)用于指定新增字段在表中的位置,如果不设置,新增字段默认是在最后列
4.1 添加无完整性约束条件的字段
4.2 添加有完整性约束条件的字段
4.3 在表的第一列添加一个字段
4.4 在表的指定列之后添加一个字段
5. 删除字段
alter table (表名) drop (字段名);
6. 修改字段的排列位置
alter table (表名) modify (字段1) (数据类型) first|after (字段2);
first是指修改为表的第一个字段,after是指插入到字段2的后面
6.1 修改字段为表的第一个字段
6.2 修改表字段到表的指定列之后
7. 更改表的存储引擎
alter table (表名) engine=(更改后的存储引擎名);
将表默认的InnoDB修改为MyISAM
8. 删除表的外键约束
外键一旦删除,主从表的关联关系将会解除
alter table (表名) drop foreing key (外键约束名);
emp8表的deptId外键关联dept1表的主键id
删除emp8表的外键关联
执行完毕后,查看表结构,证明外键关联已经删除
-------------------------------------------------
1. 删除数据表
在进行表的删除操作前,最好对表中的数据做个备份,以免造成无法挽回的后果
1.1 删除没有被关联的表
drop table (if exists) 表1,表2...表n;
加上if exists之后,若要删除的表不存在,sql可以顺利执行,但会发出警告(warning)
1.2 删除被其他表关联的主表
数据表之间存在外键关联的情况下,如果直接删除父表,结果显示失败
如果必须要删除父表,可以先删除与它关联的子表,再删除父表,只是这样就同时删除了两张表的数据
有的情况下可能要保留子表,只删除父表,只需要将子表的外键约束条件取消,就可以只删除父表