【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)

在这里插入图片描述

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。
🎯每天努力一点点,技术变化看得见


创建表

语法:

create table table_name(
	field1 datatype,
	field2 datatype,
	field3 datatype
)charset=字符集名称 collate=校验规则名称 engine=存储引擎名称

说明:
● filed表示列名
● datatype表示列的类型
● charset(写成character set也可以)字符集,如果没有指定字符集,则以所在数据库的字符集为准
●collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
●engine存储引擎,如果没有指定存储引擎,则以所在数据库的存储引擎为准

创建表案例:
案例: 创建一个学生表,其中包含学号、姓名、性别。
在这里插入图片描述
上述的charset、collate、engine后面可以不跟’=',可以直接对应的取值,如下图所示↓↓↓
在这里插入图片描述
上述的charset还可以写成character set,且各属性之间可以选择使用空格间隔,也可以选择使用逗号间隔↓↓↓
在这里插入图片描述
★ps:不同的存储引擎创建的表的文件是不一样的↓↓↓
在这里插入图片描述
其中student和student_copy表的存储引擎是InnoDB,在数据库目录中各有两个不同的文件:以.frm结尾的是表结构,以.ibd结尾的是表索引。
而student_recopy表的存储引擎是MyISAM,在数据库目录中有三个不同的文件:以.frm结尾的是表结构,以.MYD结尾的是表数据,以.MYI结尾的是表索引。
关于什么是索引,及存储引擎的具体差异,将于后序文章中介绍,这里先了解:不同的存储引擎在具体存储时存在一定的差异

查看表结构

上文使用的show create table [表名称] \G虽然能够查看表的创建语句,但无法清晰明了的展现表的各个细节。

如果想查看表的各个细节,可以使用如下指令↓↓↓

desc 表名称;

在这里插入图片描述

修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

表添加字段语法:

alter table table_name add(column datatype [default expr][,column datatype]...);

表删除字段语法:

alter table table_name drop(column [,column]...);

表修改字段属性(不修改字段名称)语法:

alter table_name modify(column datatype [default expr][, column datatype]...);

表修改字段属性(可修改字段名称)语法:

alter table tabel_name change 原字段名称 新字段名称 [default expr];

表名称修改语法:

alter table 原表名称 rename to 新表名称;

修改表案例:
案例1: 给student表添加年龄字段,并添加在姓名之后

alter table student add age int after name;

在这里插入图片描述
案例2: 给student插入3条数据后,在所有字段之后添加birthday字段

insert into student values('0001','小明',18,'男');
insert into student values('0002','小菜',19,'男');
insert into student values('0003','小树',23,'男');
select * from student;

在这里插入图片描述

alter table student add dirthday date;

在这里插入图片描述
★ps:从上面可知,由于添加字段,原来的数据中没有新增字段的数据,这些位置会被填写Defaut数值。原来的数据并不会受到影响。
案例3: 将student表中的name字段varchar长度修改为64

alter table student modify name varchar(64);

在这里插入图片描述
案例4: 删除age字段
在这里插入图片描述
★ps:删除字段一定要小心,删除字段及其对应的列数据都没了

案例5: 修改student表表名为stu
在这里插入图片描述
★ps:rename语句中,to可以省略

案例6: 修改gender字段名为sex
在这里插入图片描述

删除表

语法:

drop [temporary] table [if exists] table_name [,table_name]...

下图演示了删除stu表↓↓↓
在这里插入图片描述

🎈欢迎进入半夜学习MySQL专栏,查看更多文章。
如果上述内容有任何问题,欢迎在下方留言区指正b( ̄▽ ̄)d

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值