【MySQL初阶】04-数据表的操作

前言: 在有了数据类型的认识之后啊,我们就可以进入到数据表的创建等相关操作,那么本章节将讲述MySQL中数据表的操作的基本语法以及使用。

显示表

  • 前提:我们想要创建数据表,那么就先查看是否在数据库中有这张表,如果有了,我们就不要么不创建,要么就删除已有的表再重新建新的表,那么在操作数据表之前,得先告诉MySQL想要操作的目标数据库:use 数据库名;

    语法:
sql 复制代码
show tablses;

创建数据表

语法

sql 复制代码
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
 field datatype [约束] [comment '注解内容']
 [, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];

语法解释:


细节1:上述语法简要形式如下:

顺着这个模版,我们就来创建一张student表如下


细节2:各个字段之间使用 逗号 分隔开,最后一个字段不可以使用逗号


细节3:创建表是可以使用校验来判断当前数据库中是否存在该表


细节4:解释语法中的其他参数




总结:创建表的完整形式

sql 复制代码
-- 总结创建表的完整形式
-- 首先都是根据需求来的
create table if not exists 表名(
  字段1 字段类型,
  字段2, 字段类型,
  字段2, 字段类型,
  ...
); #注意最后要加分号

查看表的结构

语法:

sql 复制代码
describe 表名;

演示及解释如下图:


修改数据表

语法的格式:如何和MySQL沟通:

  • 让MySQL干什么? ==》 修改表结构
  • 对应的目标是什么? ==》 哪一张表(tbl_name)
  • 具体怎么做? ==》 通过不同的子句指定要做的修改类型(添加/修改/删除/重命名列,或重命名表)

参数语法说明和演示:

• tbl_name:要修改的表名

sql 复制代码
alter table 员工表 ...;

• add:向表中添加新列

语法: add [column] 列名 列定义 [first | after 列名]
演示:

sql 复制代码
-- 在最后添加"手机号"列
alter table 员工表 add 手机号 varchar(15);

-- 在"姓名"列后添加"邮箱"列  
alter table 员工表 add 邮箱 varchar(100) after 姓名;

• modify:修改现有列的定义

语法: modify [column] 列名 新定义 [first | after 列名]
演示:

sql 复制代码
-- 扩展姓名列的长度
alter table 员工表 modify 姓名 varchar(50);

-- 将手机号列移到邮箱列之后
alter table 员工表 modify 手机号 varchar(15) after 邮箱;

• drop:删除表中的列

语法: drop [column] 列名
演示:

sql 复制代码
alter table 员工表 drop 手机号;

• rename column:重命名现有列

语法: rename column 旧列名 to 新列名
演示:

sql 复制代码
alter table 员工表 rename column 邮箱 to 电子邮箱;

• rename [to | as] new_tbl_name:重命名表

语法: rename [to | as] 新表名
演示:

sql 复制代码
alter table 员工表 rename to 职员表;
-- 或
alter table 员工表 rename as 职员表;

完整示例(组合多个操作):

sql 复制代码
alter table 员工表
  add 入职日期 date after 姓名,
  modify 姓名 varchar(50),
  rename column 邮箱 to 工作邮箱,
  rename to 职员信息表;

示例解释如下图:


补充说明:修改表的结构语法比较复杂,比价繁琐,不建议背,而是记住和MySQL的沟通方式,等遇到对应的操作的时候去查阅相关开发文档/或者开发手册去完成具体的业务


删除表

语法:

sql 复制代码
drop table [if exists] 表名;

示例:


注意事项:

  • 删除表必须谨慎操作,一旦删除,数据永久丢失
  • 删除表会永久删除表结构和所有数据
  • 操作不可逆,除非有备份
  • 生产环境务必先备份再操作
    注意:删除表的危险性比删除数据库还高,因为数据库删了容易发现,但是表删了,很难发现,所以在做删除表的操作的时候,务必不要冲动。

补充细节1:在SQL中对字段或者表名的命名,如果单词超过两个,那么通常使用的是"蛇形命名法",也就是说带下划线。例如如下所示:

sql 复制代码
create table if not exists student_info(
  student_id int,
  student_name varchar(20)
);

到此,数据表的相关操作便结束了!!!

相关推荐
倔强的石头_12 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端