【MySQL】表的操作

devtools/2024/10/18 14:27:47/

目录

一、增加表

二、查看表

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/devtools/118130.html

相关文章

网站服务器监控:主机性能监测指标解读

监控易是一款功能强大的IT监控软件,能够实时监控网站服务器、中间件、数据库等IT资源的应用和业务状态,确保系统的稳定运行和高效性能。在网站服务器监控中,主机性能监测是至关重要的一环,它直接关系到服务器的整体运行效率和稳定…

UNI-SOP应用场景(1)- 纯前端预开发

在平时新项目开发中,前端小伙伴是否有这样的经历,hi,后端小伙伴们,系统啥时候能登录,啥时候能联调了,这是时候往往得到的回答就是,再等等,我们正在搭建系统呢,似曾相识的…

Unity中的GUIStyle错误:SerializedObject of SerializedProperty has been Disposed.

一运行就循环打印这个报错, 解决办法,每次改参数之后在HIerarchy中手动保存,就会停止循环打印,style中的字体也显示出来了, 或者 直接换个低版本的

基于SSM+小程序的医院挂号登录管理系统(医院4)(源码+sql脚本+视频导入教程+文档)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本医院挂号系统小程序可以实现患者管理,医生管理,科室管理,专家信息管理,预约信息管理,取消预约申请管理,系统管理等…

【MySQL】表的基本查询

目录 🌈前言🌈 📁 创建Creator 📂 插入数据 📂 插入否则更新 📂 替换 📁 读取Retrieve 📂 select列 📂 where条件 📂 结果排序 📂 筛选分页结果…

Alluxio Enterprise AI on K8s FIO 测试教程

Alluxio Enterprise AI on K8s FIO 测试视频教程 视频为Alluxio Enterprise AI on K8s FIO测试视频教程。fio是业内常用的磁盘与文件系统性能测试工具,下面内容将通过文字方式介绍Alluxio on k8s 进行fio测试的教程。 1. 测试环境 虚拟机规格:ecs.g3i.…

项目实战:Ingress搭建Nginx+WP论坛+MariaDB

1. 网站架构 本次部署形式完全舍弃 Docker,将所有应用都置于Kubernetes,采用 Deployment 而非单 Pod 部署,稳定性得到升级。 2. 部署 MariaDB [rootk8s-master ~]# mkdir tdr [rootk8s-master ~]# cd tdr/ (1)定义 …

TARA分析方法论——威胁分析和风险评估方法

一、什么是TARA分析方法论 威胁分析和风险评估(Threat Analysis and Risk Assessment) 通过识别整车/项目的网络安全资产,分析其中的潜在的安全威胁,综合考虑威胁攻击可行性、危害影响等因素,识别出整车/项目可能存在…