【MySQL】表的基本操作

文章目录

  • 1. 创建表
  • 2. 查看表
  • 3. 修改表
  • 4. 删除表

MySQL表的操作会设计两类SQL语句:

  1. DDL(Data Definition Language)数据定义语言:比如建表、删表、修改表、新增列和删除列等。
  2. DML(Data Mainpulation Language)数据操作语言:比如插入记录、删除记录、修改记等。

本篇博客介绍表的DDL操作。

1. 创建表

创建表的语法

【MySQL】表的基本操作_第1张图片

  • filed:表示列名
  • datatype:表示列的类型
  • character set:字符集,如果没有指定字符集,则以所在数据库的字符集为准。
  • collate:校验规则,如果没有指定校验规则,则以所在数据库的校验为准。

创建表的案例

【MySQL】表的基本操作_第2张图片
comment相当于注释的作用。

不同的存储引擎,创建表的文件不一样。

上面user表的存储引擎是MyISAM,在数据目中有三个不同的文件,分别是:

  • user.frm:表结构
  • user.MYD:表数据
  • user.MYI:表索引

创建完毕之后在该数据库的存储路径下,就会多出三个文件。
【MySQL】表的基本操作_第3张图片

2. 查看表

使用 desc 表名 语句可以查看表的结构。
【MySQL】表的基本操作_第4张图片

  • Field:表示该字段的名字
  • Type:表示该字段的类型
  • Null:表示该字段是否允许为空
  • Key:表示索引类型,比如主键索引为PRI
  • Default:表示该字段的默认值
  • Extra:表示该字段的额外信息说明

如果想要查看创建表时的相关细节,可以使用 show create table 表名 语句。
【MySQL】表的基本操作_第5张图片

3. 修改表

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

修改表的过程中可能会影响到表中的数据,为了演示这个过程,我们在修改表之前先在user表中插入两条数据。
【MySQL】表的基本操作_第6张图片

新增列

在users表中新增一列用于保存用户的照片路径。

【MySQL】表的基本操作_第7张图片
新增列中SQL中的after表示将该列新增到哪一列之后,如果想要将新增的列放到第一列,可以将after及其之后的SQL换成 not null first

且新增列之后,由于原来插入的记录没有该列,可能还需要对原来插入的记录进行修改。

修改列

将users表中password类型由char(30)改为char(50)
【MySQL】表的基本操作_第8张图片

修改列名

将users表中password列的列名改为passwd。
【MySQL】表的基本操作_第9张图片

修改表名

将users表的表名该为employee。
【MySQL】表的基本操作_第10张图片

删除列

将employee表中的path列删除。
【MySQL】表的基本操作_第11张图片
注意:删除列后,对应的数据都没有了。

4. 删除表

删除表的SQL如下:

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;

  • 在创建表语句中加上TEMPORARY关键字,那么服务器会创建出一个临时表,该表会在你与服务器的会话终止时自动消失。
  • TEMPORARY表的名字可以与某个已有的永久表相同,当有TEMPORARY表存在时,对应的永久表会隐藏起来(即无法访问)。
  • 为了避免重新连接之后(TEMPORARY已经不存在),在未做检测的情况下调用DROP误删了对应永久表,因此在DROP删除临时表时需要带上TEMPRORY关键字。
    【MySQL】表的基本操作_第12张图片

你可能感兴趣的:(MySQL,mysql)