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

【MySQL】表的操作

🏠个人主页:Yui_
🍑操作环境:Centos7
🚀所属专栏:MySQL

image.png

文章目录

  • 1.创建表
    • 1.1 知识补充: )存储引擎
  • 2. 查看表
    • 2.1 查看当前数据库下的所有表
    • 2.2 查看指定表结构
    • 2.3 查看表的创建信息
  • 3. 修改表
    • 3.1 新增属性
    • 3.2 修改属性
    • 3.3 删除属性
    • 3.4 修改表名
  • 4. 删除表
  • 5. 总结

在数据库中,一起皆是表,可以说表是数据库最重要的组成部分.后续的 sql语句也大多数就是对表进行操作.

1.创建表

语法:

CREATE TABLE 表名(属性名1 属性类型属性名2 属性类型属性名3 属性类型
)character set 字符集 collate 校验规则 engine;
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准 .
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准.
  • engine 存储引擎,如果没有指定存储引擎,则以所在数据库的存储引擎为准.
    字符集和校验规则已经没什么好讲的了,不了解的可以去看上一篇文章:【MySQL】库的操作-CSDN博客
    存储引擎,这个在配置文件时添加的,现在打开配置文件/etc/my.cnf
    image.png
    我们可以怎么查看表的存储引擎呢?
    找到/var/lib/mysql/数据库名进入这个目录,找到刚刚创建的表:
    image.png
    当我们使用innodb这个存储引擎时,会产生这两个文件.

1.1 知识补充: )存储引擎

在 MySQL 中,存储引擎(Storage Engine) 决定了表的底层实现方式,比如数据的存储、索引的使用、事务支持等特性。
下表由GPT生成:

特性InnoDB 🏆(默认)MyISAM 🗂️MEMORY ⚡ARCHIVE 📦
事务支持✅ 是❌ 否❌ 否❌ 否
外键支持✅ 是❌ 否❌ 否❌ 否
锁粒度行级锁表级锁表级锁表级锁
崩溃恢复✅ 支持❌ 较差❌ 易丢失
存储位置磁盘磁盘内存磁盘
适合场景高并发读写、事务场景查询多写少缓存临时表日志压缩存储
存储引擎是表的“内核”,不同引擎适用于不同场景

2. 查看表

2.1 查看当前数据库下的所有表

show tables;

image.png

2.2 查看指定表结构

desc 表名;

image.png

2.3 查看表的创建信息

有两种方法来查看建表信息:

show create table 表名; 
show create table 表名/G

image.png
个人认为,/G更好点~
我们可以从建表信息中得到什么呢?
我们写得属性名和属性类型都可以看到,除此之外还可以看到存储引擎\字符集,以及(DEFAULT 默认值,可以看出C++中的缺省).
当然可以看到到还不值这些,比如:注释信息(我没写) 主键\外建\非空等等约束,这些应该会在表的约束和大家见面.
悄悄告诉你,其实desc 表名的内容就是从这个建表信息中提取的.

3. 修改表

修改表有很多操作,就比如:添加属性,修改属性(修改属性名,修改属性类型),删除属性.
语法:

ALTER TABLE 表名 ADD (属性1 属性类型[DEFAULT expr][,属性2 属性类型]...);
ALTER TABLE 表名 MODIFY (属性1 属性类型[DEFAULT expr][,属性2 属性类型]...);
ALTER TABLE 表名 DROP (column);

image.png

3.1 新增属性

现在我就新增两个属性,分别为班级和社团
image.png
新增的属性默认是最后的,不过新增属性时也支持指定位置,但是只有在新增单个属性时才可以指定位置.

3.2 修改属性

修改属性又可以分为对属性名的修改,对属性类型的修改。

  1. 修改属性类型
ALTER TABLE tablename MODIFY column datatype [DEFAULT expr], [MODIFY ...];
  • 需要确保修改的字段存在,并且要保证修改后的字段类型与表中已经存在的数据类型相匹配。
  • 支持修改多个属性,用,分离。
  • 修改属性后,原字段的所有消息都会被覆盖,包括注释。

image.png
2. 修改属性名

ALTER TABLE tablename CHANGE oldcolumn newcolumn datatype [DEFAULT expr];

image.png
除了可以修改属性名外,其实也是可以修改属性类型的。
image.png

3.3 删除属性

语法:

ALTER TABLE 表名 DROP 属性名;

image.png
如果要删除一样东西的话,一定要确定他是对你没有的东西,以后也不会有用了。

3.4 修改表名

语法:

ALTER TABLE 旧表名 rename [to] 新表名 

创建一个临时的表,来演示修改表名和删除表~
image.png
这是新创建的表,下面开始修改它。
image.png

4. 删除表

语法:

DROP [TEMPORARY] TABLE [IF NOT EXISTS] 表名 [,表名2]...

下面看演示:
image.png
同样的,在删除表前一定要清楚删除后会用什么后果哦~
image.png

5. 总结

本文主要讲述了对表的增(创建)删查改,不过这些都是表的基操作,后续的文章就对表的操作进行进阶


往期文章:
【MySQL】数据库基础-CSDN博客.
【MySQL】库的操作-CSDN博客

http://www.xdnf.cn/news/106.html

相关文章:

  • PyTorch分布式训练调试方法(跟踪调用过程)
  • 每日算法【双指针算法】(Day 2-复写零)
  • 社交媒体时代的隐私忧虑:聚焦Facebook
  • ios精灵脚本辅助软件,有根和无根roothide越狱区别
  • iOS Google登录
  • 【生态系统模型】Biome-BGC生态系统模型与Python融合技术实践应用
  • iOS Facebook 登录
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)答案 + 解析
  • 基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告
  • 【vLLM 学习】Aqlm 示例
  • 网页端调用本地应用打开本地文件(PDF、Word、excel、PPT)
  • day31和day32图像处理OpenCV
  • 数据通信学习笔记之OSPF配置命令
  • 大数据应用开发——大数据平台集群部署
  • 数据结构——二叉树
  • GB28181的SIP注册与PS推流学习
  • 常用绑定事件方式有哪几种
  • Spring AI与通义千问的完美结合:构建智能对话应用
  • 【OSG学习笔记】Day 3: 加载你的第一个3D模型
  • C++每日训练 Day 16:构建 GUI 响应式信号机制(面向初学者)
  • Linux 文件传输:系统数据交互的动脉
  • 【Leetcode 每日一题 - 补卡】2537. 统计好子数组的数目
  • Flink-01学习 介绍Flink及上手小项目之词频统计
  • GPT对话UI--通义千问API
  • Linux 权限
  • 2025.4.17学习日记 初识JavaScript 以及Java和JavaScript有什么区别
  • 什么是分布式锁?
  • Linux: 生产者消费者模型
  • 从零开始学A2A四:A2A 协议的安全性与多模态支持
  • 多个路由器互通(静态路由)无单臂路由(简单版)