【MySQL】表的操作

ops/2024/9/24 20:21:43/

目录

一、增加表

二、查看表

2.1 查看当前数据库中的表

2.2 查看指定表的结构

2.3 查看创建表时的详细信息

2.4 查看表中所有数据

三、修改表

3.1 修改表名

3.2 插入数据

3.3 添加列

3.4 修改列类型

3.5 删除列

3.6 修改列名

四、删除表


一、增加表

增加表的语法:

create table [if not exists] 表名(列名1 类型 [comment 文字说明],列名2 类型 [comment 文字说明],列名3 类型 [comment 文字说明]
) [character set 字符集] [collate 校验规则] [engine 存储引擎];

其中:

  • 方括号内为可选项
  • 类型为该列所存储元素的类型
  • comment后可接对该列的文字说明
  • 若建表时不指定字符集、校验规则和存储引擎,则使用默认方案 

例如:

何为存储引擎?我在【MySQL】数据库基础-CSDN博客 中有简单介绍过

上一篇文章提到,数据库在对应路径下表现为目录的形式,而表结构就是目录下的文件

不同的存储引擎,在创建表时生成的文件也不一样。刚才创建的表结构使用MyIsam引擎,我们看看它的表文件是什么样子的

其中,frm后缀文件为表结构,MYD后缀文件为表数据,MYI后缀文件为表索引

接下来我们换成InnoDB引擎,再创建一张除了存储引擎之外一切相同的表

创建表成功后,我们观察目录下的表文件

可以看到使用MyIsam引擎的user1表有三个表文件,而使用InnoDB引擎的user2表只有两个

这是因为MyIsam引擎和InnoDB引擎的存储方案不同,MyIsam将数据和索引分开存放,而InnoDB将数据和索引一起存放在ibd后缀文件中


二、查看表

2.1 查看当前数据库中的表

语法:

show tables;

例如: 

2.2 查看指定表的结构

语法:

desc 表名;

例如: 

其中:

  • Field为字段名
  • Type为字段类型
  • Null为是否允许为空
  • Default为默认值

2.3 查看创建表时的详细信息

语法: 

show create table 表名 \G

例如:

2.4 查看表中所有数据

语法:

select * from 表名;

例如: 

关于更多的select语句会在后续文章中讲到


三、修改表

3.1 修改表名

语法:

alter table 原表名 rename to 新表名;

3.2 插入数据

语法:

insert into 表名 values (数据)

例如:

结果:

3.3 添加列

语法:

alter table 表名 add 列名 类型 [comment 说明] after 添加位置之前的列名

例如:

可以看到添加新列后不会影响原数据

如果要添加多列,则在add后需要用括号将多个列名和类型包括起来,例如:

结果:

3.4 修改列类型

语法:

alter table 表名 modify 列名 新类型;

例如:

3.5 删除列

语法:

alter table 表名 drop 列名; 

例如:

需要注意,删除某一列后对应的列数据会全部丢失

3.6 修改列名

语法:

alter table 表名 change 原列名 新列名 类型;

例如:


四、删除表

语法:

drop table [if exists] 表名;

例如:

完.


http://www.ppmy.cn/ops/115444.html

相关文章

sqli-lab靶场学习(四)——Less11-14(post方法)

前言 第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。 Less11 第11关打开是一个输入用户名密码的界面 显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者,对我们Android平台轻量级RTSP服务模块有些陌生,不知道这个模块具体适用于怎样的场景,有什么优缺点,实际上,我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…

Redis - 深入理解Redis事务

目录 Redis是如何实现事务的?事务中执行的命令出现错误,会回滚事务吗?同一个连接可以重复开启事务吗?多个客户端同时开启事务会怎样?使用Redis事务只用MULTI和EXEC吗?Redis中的WATCH机制是怎么实现的&#…

YOLOv5的训练技巧汇总

文章目录 前言训练技巧1.训练预热 Warmup1.1 什么是训练预热 Warmup?1.2 常见的训练预热类型1.3 yolov5里面的warmup 2.余弦退火调整学习率 CosineAnnealingLR2.1 解释2.2 yolov5中的余弦退火 3.自适应锚框 Autoanchor3.1 什么是anchor?3.1 yolov5中的默认锚框3.3 …

安卓LiveData与MutableLiveData的使用

简介   LiveData 是 Android 架构组件的一部分,用于持有和管理可观察的数据生命周期感知的数据容器。它的设计目的是在应用的 UI 和数据之间提供响应式的双向绑定,并在数据变化时通知观察者。LiveData还能知晓它绑定的Activity或者Fragment的生命周期&…

如何快速上手一个Github的开源项目

程序研发领域正是有一些热衷开源的小伙伴,技能迭代才能如此的迅速,因此,快速上手一个GitHub上的开源项目,基本上已经变成很个程序员小伙伴必须掌握的技能,因为终究你会应用到其中的一个或多个项目,帮助自己…

Docker UI强大之处?

DockerUI是一款由国内开发者打造的优秀Docker可视化管理工具。它拥有简洁直观的用户界面,使得Docker主机管理、集群管理和任务编排变得轻松简单。DockerUI不仅能展示资源利用率、系统信息和更新日志,还提供了镜像管理功能,帮助用户高效清理中…

《飞机大战游戏》实训项目(Java GUI实现)(设计模式)(简易)

目录 一、最终实现后,效果如下。 (1)简单介绍本游戏项目(待完善) (2)运行效果图(具体大家自己可以试) 初始运行情况。 手动更换背景图。 通过子弹攻击敌机,累…