一、查看表结构的语法

   DESC 表名;
   DESCRIBE 表名;

查看详细表结构的语法(可以查看到存储引擎和默认字符集)

   SHOW CREATE TABLE 表名\G

无论使用以上何种方法都无法获取表中的数据,只能通过DQL进行查看

二、ALTER(在mysql中所有内容的名字不能和命令重名,否则失败)

1、修改表名

​ 语法:
​ alter table 表名 rename 新表名 //修改表名
​ alter table 表名 rename to 库名.新表名 //修改表名并迁移到另一个库

(1)mysql中不能出现同名的数据库
(2)一个库中不能出现同名的表
(3)一个表中不能出现同名的字段

在mysql中库名和表名是严格区分大小写的,而字段名不区分大小写

2、修改数据类型

​ 语法:
​ ALTER TABLE 表名 MODIFY 字段名 数据类型
​ mysql5.5如果修改数据类型时,表的字段中存在数据,则会使表中的数据丢失(谨慎使用)
​ mysql5.6如果存在数据,不会在这种情况下修改数据类型,除非清空表数据

3、修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

4、添加字段

​ 语法:
ALTER TABLE 表名 ADD 新字段 新数据类型 [约束条件] [FIRST|AFTER 已经存在的字段]
可以将字段添加到最开头或者某个已经存在的字段之后
例:alter table mysql add phone INT unique first //将新添加的字段phone放到表中的第一列字段
​ alter table mysql add ip varchar(30) unique after id; //将新添加的字段ip放到id字段之后也就是name前面

5、删除字段

​ 语法:
​ alter table 表名 drop 字段名; //删除字段,该字段中的数据会随着字段一起被删除

6、修改已经存在字段的排列位置

​ 语法:
alter table 表名 modify 字段名 数据类型 [约束条件] [FIRST|AFTER 已经存在的字段]
例:alter table mysql modify country char(20) after s_name; //将country字段排列到s_name字段之后

7、修改表的存储引擎(谨慎使用,有可能在修改存储引擎的过程中导致某些功能不能使用)

​ 语法:
​ alter table 表名 engine=要修改的存储引擎名
例:alter table mysql engine=MyISAM;

8、删除外键约束条件

​ 语法:
​ alter table 表名 drop foreign key 外键约束名;
例:alter table test1 drop foreign key cyj; //删除外键约束

9、删除表(如果有主外键关联表,则先删除外键约束)

​ 语法:
​ drop table [IF exists] 表1,表2
​ 例:drop table if exists test; //即使表已经不存在,也不会报错,会正常执行,可以在脚本中使用,则不会打断脚本的运行

10、在存在表上添加主键

(1)alter table 表名 字段名 数据类型 PRIMARY KEY;
(2)alter table 表名 modify 字段名 数据类型 PRIMARY KEY;
(3)alter table 表名 add primary key(字段1,字段2……);

11、删除主键

​ 语法:
​ alter table 表名 drop primary key;

12、mysql中可以同时执行两条或者多条命令,只需要加入相应的结束符

如:show create table test2\G select * from test1;

13、删除唯一性约束条件

​ 语法:
​ alter table 表名 drop key 约束名 //约束名通过show create table 表名\G来查看

14、添加唯一性约束条件

​ 语法:
​ alter table 表名 modify 字段 数据类型 unique;
​ alter table 表名 add [constraint 约束名] unique(字段名)

15、添加外键

alter table 表名 add [constraint 约束名] foreign key(外键字段) references 父表(主键字段名)

16、添加/删除非空约束(默认约束和自增约束同理,数据类型后不加约束则删除)

​ 语法:
​ 添加:alter table 表名 modify 字段名 数据类型 not null;
​ 删除:alter table 表名 modify 字段名 数据类型 default null;
​ alter table 表名 modify 字段名 数据类型;
​ alter table 表名 modify 字段名 数据类型 null;

17、约束条件的语法区分

主键、唯一性约束条件可以通过add和modify(change)两种方式添加,外键只能通过add方式进行添加,自增、默认、非空约束条件只能通过modify(change)进行添加

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0