MySQL表的操作

一、创建表

1.创建表的基本语法

创建一张表使用的也是create命令,和创建一个数据库有点类似,只不过创建数据库是create database,而创建表是create table。

语法:

create table 表名称 (
	列名称 列类型
	列名称 列类型
) charset=字符集 collate 校验规则 engine 存储引擎;
  • 创建表的语句可以写成一行,分开多行来写目的是方便阅读。
  • 创建表的时候可以指定字符集,如果没有指定字符集,则默认为数据库的字符集。
  • 创建表的时候同样也可以指定校验集,如果没有指定校验集,则默认为数据库的校验集。

2.创建表的案例

我们可以演示一下表的创建语句,创建一个名字为users的表,其中有两列,分别为name和age,字符集设置为utf8,存储引擎设置为MyISAM。

create table `users` (
	name varchar(20) comment '用户名',
	age int comment '年龄'
)charset=utf8 engine MyISAM;

自此一张表就建立成功了,其中comment可以指定当前列的说明,这个可以选择加上也可以选择省略。

我们可以在MySQL中查看一下刚刚创建表的具体信息:

在这里插入图片描述

我们也可以在Linux中查看MySQL存储路径下的文件变化,可以发现刚刚创建的表实际上是三个相同前缀不同后缀的文件:

在这里插入图片描述

事实上,不同的存储引擎,创建出来的表文件是不一样的,上图是在MyISAM存储引擎下创建的表文件,如果我们创建一张表,存储引擎设置为InnoDB,创建出来的表文件如下图所示:

在这里插入图片描述

二、删除表

删除表使用的是drop指令,基本语法如下:

drop [temporary] table [if exists] 表名称 [, 表名称]...;

其中if exists可以省略,代表如果表存在才删除。drop指令可以同时删除多个表,只需要罗列需要删除的所有表即可,用逗号分隔开。

例如,我们删除刚刚创建的users表,输入指令drop table if exists users;,此时再查看当前数据库内的表就不存在users表了:

在这里插入图片描述

三、查看表

1.查看表名称

如果我们想要查看当前数据库内有哪些表,也就是查看表名称,可以使用:

show tables;

在这里插入图片描述

2.查看表结构

如果我们想查看指定一个表的具体结构,可以使用以下语句:

desc 表名;

比如我们想查看student表的结构,输入指令desc student;,即可查看到该表的具体结构:

在这里插入图片描述

3.查看表的创建语句

表和数据库一样也可以查看创建语句,使用语句:

show create table 表名称;

比如我们想查看student表的创建语句,输入指令show create table student;即可查看该表的创建语句:

在这里插入图片描述

但是这样查看的创建语句不便于阅读,因为格式乱了,可以加上\G调整一下格式,输入指令show create table student\G;即可:

在这里插入图片描述

四、修改表

在项目的实际开发中,经常会修改表的某个结构,比如某个字段的名字、字段的大小、字段的类型、表的字符集校验集、表的存储引擎等等。修改表使用的是alter指令,修改的操作主要是指修改表的属性,包括增加表的属性、修改表的属性、删除表的属性。其基本语法如下:

alter table 表名 add (字段名 字段类型 说明 加入位置);

alter table 表名 modify (字段名 字段类型 说明);

alter table 表名 drop (列名);

例如上面创建好的student表中目前已经存在两列,分别为name和age,我们想在最后一列添加id列,输入指令alter table student add id int;即可添加成功:

在这里插入图片描述

如果我们想在name列后面添加上sex列,输入指令alter table student add sex char(1) after name;即可:

在这里插入图片描述

如果我们想修改name列的字段大小,varchar(20)太小了我们想改成varchar(60),输入指令alter table student modify name varchar(60);即可:

在这里插入图片描述
需要注意的是,这里的修改是覆盖式的修改,比如说如果我们之前设置的name列是有comment说明的,修改之后如果只填了varchar(60)的话,会覆盖原来的内容,也就是说原来的说明也会不存在了。

最后再演示一下删除功能,如果我们想删除id列,输入指令alter table student drop id;即可:

在这里插入图片描述

除此之外,我们还可以修改列名称以及表名称,例如我们将name列名称改为xingming,使用以下语句:

alter table student change name xingming varchar(60); //新字段需要完整定义

或者我们想将student的表名改成users,使用以下语句:

alter table student rename to `user`;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值