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

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

相关推荐
一个天蝎座 白勺 程序猿6 小时前
Apache IoTDB(6):深入解析数据库管理操作——增删改查与异构数据库实战指南
数据库·apache·时序数据库·数据库管理·iotdb
十八旬6 小时前
苍穹外卖项目实战(day11-1)-记录实战教程、问题的解决方法以及完整代码
服务器·数据库·windows·redis
浅拾光º6 小时前
mysql重启,服务器计划重启,如何优雅地停止MySQL?
服务器·mysql·adb
牛奶咖啡136 小时前
MySQL在服务器和参数化方面的通用调优策略详解
数据库·mysql·mysql服务器的硬件优化内容·mysql服务器硬盘i/o优化·mysql服务器文件系统优化·mysql服务器内核参数优化·mysql参数优化
不宕机的小马达6 小时前
【Maven】Maven概述、安装以及其他相关知识
java·数据库·maven
盖世英雄酱581367 小时前
Where条件顺序会影响索引的使用?
数据库·后端
歪歪1007 小时前
介绍一下SQLite的基本语法和常用命令
数据库·sql·架构·sqlite
kobe_OKOK_7 小时前
有一次django开发实录
数据库·django·sqlite
重回19817 小时前
Python 操作 SQLite:Peewee ORM 与传统 sqlite3.connect 的全方位对比
数据库·oracle·sqlite