【MySQL】表的操作

前言

上一期我们对库操作进行了介绍,本期我们对表的结构操作进行来介绍。

目录

前言

一、创建表

二、表的相关查询

[2.1 查询当前库中的所有表](#2.1 查询当前库中的所有表)

[2.1 查询创建表时的详细信息](#2.1 查询创建表时的详细信息)

[2.3 查询表的结构](#2.3 查询表的结构)

三、修改表

[3.1 修改表名](#3.1 修改表名)

[3.2 添加字段](#3.2 添加字段)

[3.3 修改字段](#3.3 修改字段)

[3.4 删除列](#3.4 删除列)

四、删除表


一、创建表

bash 复制代码
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

• field 表示列名

• datatype 表示列的类型

• character set 表的字符集,如果没有指定字符集,则使用数据库的字符集

• aollate 表的校验规则,如果没有指定校验规则,则使用数据库的校验规则

注意:表的最后一个字段后面不要添加逗号。

这里我们创建了一个user1 的表,修改了默认的存储引擎(InnoDB )为MyIsam了,然后有创建了一张user2 的表,按照默认的存储引擎(InnoDB)创建的。我们根据上期介绍的,此时会在 /var/lib/mysql 下的一个目录中,会有相关的文件(表):

.frm是负责存储表的结构定义的,.MY*表示存储引擎是MyIsam的,MYD 存储表的数据,MYI 存储表的索引(MyIsam是将表的数据和索引分开存的, 而InnoDB是将数据和索引存在一起的),这个我们后期在介绍!

二、表的相关查询

2.1 查询当前库中的所有表

sql 复制代码
show tables;

2.1 查询创建表时的详细信息

sql 复制代码
show create table tb_name;

这样看起来不好,我们直接将 **;**换 \G

2.3 查询表的结构

sql 复制代码
desc table_name;

三、修改表

在实际开发中,经常修改某个表的表结构,比如字段名字、字段大小、字段类型、表的字符集类型、表的存储引擎等。还会需要我们进行添加字段、删除字段等操作,这时候就需要对表进行修改。

3.1 修改表名

sql 复制代码
alter table 原表名 rename to 想修改为的表名;

比如当前有两个表,我们把 user1 修改为 user

这里的 to也是可以省略的!

3.2 添加字段

sql 复制代码
alter table 表名 add 字段名 字段类型 comment 描述  after 字段名;

我们先在user表中,插入两条数据:

然后执行插入一个性别sex字段,在姓名name之后

再来查询一下当前表中的数据:

我们发现新增的字段对原先的数据不会产生影响

3.3 修改字段

修改字段 分为修改字段名修改字段类型

• 修改字段名

sql 复制代码
alter table 表名 change 原字段名 新字段名 新字段的类型; #注意新字段需要完整定义

• 修改字段类型

sql 复制代码
alter table 表名 midify 字段名 新类型;

3.4 删除列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

sql 复制代码
alter table 表名 drop 列名;

比如这里我们删除 password

四、删除表

sql 复制代码
drop table [if not exists tb_name] tb_name;

比如我们这里删除 user

该指令会将整张表以及表中的数据都删除,删除前一定要做好备份。

建议:不要轻易的删除和修改表的结构,因为数据库一般处于开发的最底层,一旦某一个字段修改或者删除了,其上层所有依赖的该数据库项目/软件都会被影响,对程序员来说这就很伤!!!

相关推荐
minji...几秒前
MySQL数据库 (七) MySQL表的基本查询(上),insert、replace、select、where、order by
数据库·mysql·select·replace·insert·order by·where
金融RPA机器人丨实在智能6 分钟前
数据库运维Agent比价指南:国产自研产品适配国产数据库兼容性更好吗?
运维·数据库·人工智能·ai
IT策士7 分钟前
Redis 从入门到精通:持久化RDB 与 AOF
数据库·redis·缓存
gerrywhu1 小时前
【应用实践】PostGIS实现NDVI计算与植被覆盖分级统计分析-以武汉市2025年为例
数据库·postgis·栅格数据分析·st_mapalgebra·ndvi计算·植被覆盖分级统计·植被覆盖计算
QiLinkOS1 小时前
极客与商业思维的融合实践(1)
c语言·数据库·c++·人工智能·算法·开源协议
chushiyunen1 小时前
高斯数据库笔记、gaussDb
数据库·笔记
ZengLiangYi1 小时前
本地向量数据库选型:vectra vs chroma vs hnswlib
javascript·数据库·后端
TDengine (老段)2 小时前
TDengine 逻辑计划生成 — 从 AST 到关系代数算子树
大数据·数据库·物联网·wpf·时序数据库·tdengine·涛思数据
折戟不必沉沙2 小时前
mysql忘记密码
数据库·mysql
kuonyuma2 小时前
MyBatis入门·注解操作
java·spring boot·mysql·spring·mybatis