1. 查看表基本结构

可简写 DESC 表名;

查询sql server 修改记录 sql查询表数据修改记录_字段

   

Null:是否可用存储Null值

Key:该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次

Default:该列是否有默认值,为多少

Extra:获取与给定列有关的附件信息,如:属性值自增

 

2. 查看表详细结构

查询sql server 修改记录 sql查询表数据修改记录_查询sql server 修改记录_02

   

 

-------------------------------------------------

1.修改表名

alter table (旧表名) rename to (新表名);

 to为可选参数,使用与否不影响结果

查询sql server 修改记录 sql查询表数据修改记录_表名_03

    

2. 修改字段的数据类型

alter table (表名) modify (字段名) (数据类型);

tb_dept1中的name由varchar(22) 改为varchar(30)

查询sql server 修改记录 sql查询表数据修改记录_查询sql server 修改记录_04

 

3. 修改字段名

alter table (表名) change (旧字段名) (新字段名) (数据类型);  

此处的数据类型即使不修改也不能为空,填写之前的数据类型

将location字段名称改为loc,数据类型保持不变

查询sql server 修改记录 sql查询表数据修改记录_数据类型_05

change也可以只修改数据类型,实现和modify同样的效果,只是把旧字段名和新字段名设置为相同的名称

由于不同类型的数据在机器中存储的方式及长度不同,修改数据类型可能会影响到表中已有的数据记录,当表中有数据时,最好不要修改数据类型

 

4. 添加字段

alter table (表名) add (新字段名) (数据类型) (约束条件) (first|after 已存在字段名);

(first|after 已存在字段名)用于指定新增字段在表中的位置,如果不设置,新增字段默认是在最后列

4.1 添加无完整性约束条件的字段

查询sql server 修改记录 sql查询表数据修改记录_表名_06

4.2 添加有完整性约束条件的字段

查询sql server 修改记录 sql查询表数据修改记录_查询sql server 修改记录_07

  

4.3 在表的第一列添加一个字段

查询sql server 修改记录 sql查询表数据修改记录_数据类型_08

  

4.4 在表的指定列之后添加一个字段

查询sql server 修改记录 sql查询表数据修改记录_字段_09

  

 

5. 删除字段

alter table (表名) drop (字段名);

查询sql server 修改记录 sql查询表数据修改记录_字段_10

   

6. 修改字段的排列位置

alter table (表名) modify (字段1) (数据类型) first|after (字段2);

first是指修改为表的第一个字段,after是指插入到字段2的后面

6.1 修改字段为表的第一个字段

查询sql server 修改记录 sql查询表数据修改记录_数据类型_11

   

6.2 修改表字段到表的指定列之后

查询sql server 修改记录 sql查询表数据修改记录_数据类型_12

  

7. 更改表的存储引擎

alter table (表名) engine=(更改后的存储引擎名);

将表默认的InnoDB修改为MyISAM

查询sql server 修改记录 sql查询表数据修改记录_查询sql server 修改记录_13

   

 

8. 删除表的外键约束

外键一旦删除,主从表的关联关系将会解除

alter table (表名) drop foreing key (外键约束名);

emp8表的deptId外键关联dept1表的主键id

查询sql server 修改记录 sql查询表数据修改记录_表名_14

  

删除emp8表的外键关联

查询sql server 修改记录 sql查询表数据修改记录_字段_15

   

执行完毕后,查看表结构,证明外键关联已经删除

查询sql server 修改记录 sql查询表数据修改记录_查询sql server 修改记录_16

   

 

-------------------------------------------------

1. 删除数据表

在进行表的删除操作前,最好对表中的数据做个备份,以免造成无法挽回的后果

1.1 删除没有被关联的表

drop table (if exists) 表1,表2...表n;

加上if exists之后,若要删除的表不存在,sql可以顺利执行,但会发出警告(warning)

查询sql server 修改记录 sql查询表数据修改记录_字段_17

   

1.2 删除被其他表关联的主表

数据表之间存在外键关联的情况下,如果直接删除父表,结果显示失败

如果必须要删除父表,可以先删除与它关联的子表,再删除父表,只是这样就同时删除了两张表的数据

有的情况下可能要保留子表,只删除父表,只需要将子表的外键约束条件取消,就可以只删除父表