【MySQL系列】表的学习及基本操作

「前言」文章内容大致是数据库表的基本操作

「归属专栏」MySQL

「主页链接」个人主页

「笔者」枫叶先生(fy)

「枫叶先生有点文青病」「句子分享」
人生当苦无妨,良人当归即好。
——烽火戏诸侯《雪中悍刀行》

MySQL

一、创建表

创建表语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
...
field datatype
) character set 字符集 collate 校验规则 engine 存储引擎

说明

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

查看自己现在所在的数据库

select database();

在这里插入图片描述
创建表案例1:

create table if not exists user1(
id int,
name varchar(20) comment '用户名',
password char(32) comment '用户密码',
birthday date comment '用户生日'
)character set utf8 collate utf8_general_ci engine MyIsam;

在这里插入图片描述

ls /var/lib/mysql/user -l

在这里插入图片描述
不同的存储引擎,创建表的文件不一样,表存储引擎是MyISAM ,在数据目中有三个不同的文件,分别是:

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

查看表结构

desc 表名;

:desc的全称是describe
在这里插入图片描述
各个列的意思:
在这里插入图片描述
创建表案例2,与创建表案例1进行索引对比

create table if not exists user2(
id int,
name varchar(20) comment '用户名',
password char(32) comment '用户密码',
birthday date comment '用户生日'
)charset=utf8 collate=utf8_general_ci engine=InnoDB;

在这里插入图片描述
索引的不同,创建表的文件不一样。
在这里插入图片描述

二、修改表

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

查看数据库的表

语法:

show tables;

在这里插入图片描述

修改表名

alter table 表名 rename to 新的表名;

注意to可以省掉
例如,将 user1 修改表名为employee

alter table user1 rename to employee;

在这里插入图片描述

查看表创建时的信息

语法:

show create table 表名;

例如(在我这里,这个命令打印格式有点问题)
在这里插入图片描述

给表增加列

语法:

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,columndatatype]...);

说明

  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,给表在最后新增一列

alter table employee add path_image varchar(128) comment '用户头像路径' after birthday;

after birthday意思是在birthday这列之后插入,插入新字段后,对原来表中的数据没有影响
在这里插入图片描述

修改表的某一列

语法:

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,columndatatype]...);
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,修改表的name列,将其长度改成60

alter table employee modify name varchar(60);

在这里插入图片描述
但是,查看创建表时的信息,注解comment没有了,旧的的属性直接被新的属性直接覆盖了
在这里插入图片描述

删除表的某一列

语法:

alter table 表名 drop 表的哪一列;

例如,删除birthday列

alter table employee drop birthday;

在这里插入图片描述
注意:删除字段一定要小心,删除字段及其对应的列数据都没了,不建议使用

修改某一列的名字

 alter table 表名 change 旧的列名 新的列名+属性;

注意:新字段需要完整定义,即增加该列的属性

例如,将name列修改为xingming

table employee change name xingming varchar(60);

在这里插入图片描述

三、 删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

例如,删除一个表

 drop table user2;

在这里插入图片描述
注意:不要轻易删除表
--------------------- END ----------------------

「 作者 」 枫叶先生
「 更新 」 2023.7.9
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

猜你喜欢

转载自blog.csdn.net/m0_64280701/article/details/131608834
今日推荐