当前位置: 首页 > news >正文

MySQL——表的管理

目录

一:本节⽬标

二: 查看所有表

2.1 语法

三:创建表

3.1 语法

3.2 实例

3.3 表在磁盘上对应的⽂件

四:查看表结构

4.1 语法

4.2 ⽰例

五:修改表

5.1语法

5.2 ⽰例

5.2.1 向表中添加⼀列

5.2.2 修改某列的⻓度

5.2.3 重命名某列

5.2.4 删除某个字段

5.2.5修改表名

六:删除表

6.1语法

6.2 ⽰例

6.3 注意事项


一:本节⽬标

掌握创建、查看、修改和删除表。

二: 查看所有表

2.1 语法

show tables;

首先我们先使用我们的数据库java116,由于我库没有创建表 就查询, 所以返回空。
empty set:表示空结果集,表示当前数据库中没有表

三:创建表

3.1 语法

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

TEMPORARY: 表⽰创建的是⼀个临时表
field:列名
datatype:数据类型
comment:对列的描述或说明(就是注释)
engine:存储引擎,不指定则使⽤默认存储引擎

(和创建库的时候一样,如果创建表的时候指定,则只针对当前表生效)
character set:字符集,不指定则使⽤默认字符集
collate:排序规则,不指定则使⽤默认排序规则

3.2 实例

创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci。

-- 创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci
-- 两个横线加空格(-- )注释
# 这个也是注释
/*
这个是多行注释
/
create table if not EXISTS users(id bigint comment '用户编号',username VARCHAR(30)  COMMENT'用户名',`password` VARCHAR(30) comment '密码',birthday date COMMENT '生日'
);

创建成功后 就会出现一个OK的字符

我们在navicat中创建表 ,然后我们在命令中查询表

-- 创建⼀个表并指定存储引擎为MyISAM

create table if not EXISTS t_myisam(id bigint ,`name` varchar(30)
)engine = myISAM;

注意:
还需要注意 其他列都以逗号结尾,最后一列的变量没有逗号。
如果我们创建的变量是关键字,我们就要使用反引号

3.3 表在磁盘上对应的⽂件

创建表后有相应的文件

innodb存储引擎,一个表中对应一个文件
其他就是myisan存储引擎对应的三个文件:MYD中my就代表my D就代表数据

四:查看表结构

4.1 语法

desc 表名;

4.2 ⽰例

Field:表中的列名
Type:列的数据类型
Null:该列的值是否允许为Null
Key:该列的索引类型
Default:该列的默认值
Extra:扩展信息

五:修改表

在项⽬的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进⾏调整,⽐如向现有表中添加列,删除列,或者修改某列的列名、数据类型或⻓度,这时就需要对表进⾏修改操作

5.1语法

ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {
table_options
| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name](新增列加到表第一列   |   加到哪一列之后就是 after+列明)
| MODIFY [COLUMN] col_name (列名)  column_definition(数据类型) [FIRST | AFTER col_name]修改列的位置
| DROP [COLUMN] col_name
| RENAME COLUMN old_col_name TO new_col_name
| RENAME [TO | AS] new_tbl_name
tbl_name:要修改的表名
ADD:向表中添加列
MODIFY:修改表中现有的列
DROP:删除表中现有的列
RENAME COLUMN:重命名表中现有的列
RENAME [TO | AS] new_tbl_name:重命名当前的表
修改类型至少有一个,多个修改逗号隔开。

5.2 ⽰例

5.2.1 向表中添加⼀列

`-- 向表中末尾加入一列`
`alter table users add assets VARCHAR(100) comment '头像地址' after birthday;`

运行展示:
执行以下命令行

在navicat中展示:

5.2.2 修改某列的⻓度

alter table users MODIFY assets VARCHAR(200); 
这样子就很直观的看到修改长度的变化:

5.2.3 重命名某列

-- 重命名某列
alter  table users rename COLUMN id to idname;

运行前后我们看一下命令:

5.2.4 删除某个字段

-- 删除列
alter table users DROP idname;

前后对比

5.2.5修改表名

-- 修改表名
alter table users rename user1;

前后查询对比

六:删除表

6.1语法

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
TEMPORARY:表⽰临时表
tbl_name:将要删除的表名

数据库删除中所有删除操作都是危险操作,在以后工作中就把删除忘记 !!!

6.2 ⽰例

要使用反引号把表引起来
我们查看以下表:就没有t_myisam

6.3 注意事项

删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
删除表成功后,磁盘上对应的数据⽂件也会被删除
⼀次可以删除多个表,表与表之间⽤逗号隔开

http://www.zskr.cn/news/42850.html

相关文章:

  • 【传奇开心果系列】基于Flet框架实现的分析题型的掌握程度不同题型得分饼图样式示例自定义模板特色和完成原理深度解析
  • 【MySQL】SQL调优-如何分析SQL性能 - 指南
  • asp.net网站编译后出现“发现不明确的匹配”的错误
  • Docker 部署 Oracle Linux 实操全流程
  • Redis Key 命名规范文档(含图表与命名规则)
  • 联想瑞天500无法禁用安全启动的解决办法
  • AI可能的发展
  • 【2025年】撕碎机厂家信息:华东固废处理五强榜单
  • 【2025年膨润土厂家信息:华东高纯钠基五强榜单】
  • LLMOps+DeepSeek:大模型赋能一体化运维
  • 2025年200元左右美白精华产品推荐:基于成分与肤感的权威对比榜
  • LRU缓存科普与实现(Kotlin 与 Swift) - 实践
  • 十六、Linux网络基础理论 - OSI模型、TCP/IP协议与IP地址详解 - 教程
  • 飞牛OS Root用户SSH公钥登录完整教程
  • 红黑树简
  • ⸢ 柒-Ⅲ⸥⤳ 可信纵深防御建设方案:数据使用可信端安全可信 - 详解
  • AI在开源情报搜集系统中的应用汇总
  • 升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
  • Python环境教程(三)-环境高级之uv pixi
  • 升鲜宝生鲜配送供应链管理系统---PMS 商品模块 + 动态翻译设计说明
  • 深入浅出 SPA/MPA
  • CPP 学习笔记 语法总结 - 阿源
  • 深入解析:大数据集群环境搭建(Ubantu)
  • Unity Shader 入门教程:从零开始编写你的第一个 Shader
  • 实用指南:Linux内核架构浅谈2- Linux内核与硬件交互的底层逻辑:硬件抽象层的作用
  • 英伟达DCGM说明和安装
  • 阿卡德付费文章:让每个普通人的知识,都能变成真金白银
  • Mysql杂志(三十)——索引失效情况 - 指南
  • 84用python命令查看安装了那些库
  • 手把手教你在unity中实现一个视觉小说系统(一)