【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)
);

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

相关推荐
what丶k13 小时前
SpringBoot3 缓存抽象深度实践:Caffeine+Redis多级缓存,穿透/雪崩/击穿防御全方案
数据库·redis·缓存
咖啡の猫13 小时前
Redis简单介绍
数据库·redis·缓存
-XWB-13 小时前
【Oracle】Oracle诊断系列(4/6):表空间与对象管理——存储优化与空间规划
数据库·oracle
山峰哥13 小时前
SQL优化全解析:从索引策略到查询性能飞跃
大数据·数据库·sql·编辑器·深度优先
葫三生13 小时前
存在之思:三生原理与现象学对话可能?
数据库·人工智能·神经网络·算法·区块链
不凉帅13 小时前
NO.6 数据库设计基础知识
数据库·分布式数据库·软考·数据库设计
TOOLS指南13 小时前
谷歌AI Gemin怎么使用?Gemini国内使用指南!
数据库·微软
cuber膜拜13 小时前
Weaviate 简介与基本使用
数据库·python·docker·向量数据库·weaviate
西京刀客13 小时前
MySQL字符集排序规则冲突问题(utf8mb4_unicode_ci和utf8mb4_0900_ai_ci )
mysql·排序·utf8mb4
MAHATMA玛哈特科技13 小时前
以曲求直:校平技术中的反直觉哲学
前端·数据库·制造·校平机·矫平机·液压矫平机