【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)

在这里插入图片描述

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。
🎯每天努力一点点,技术变化看得见

文章目录

  • 创建表
  • 查看表结构
  • 修改表
  • 删除表


创建表

语法:

create table table_name(field1 datatype,field2 datatype,field3 datatype
)charset=字符集名称 collate=校验规则名称 engine=存储引擎名称

说明:
● filed表示列名
● datatype表示列的类型
● charset(写成character set也可以)字符集,如果没有指定字符集,则以所在数据库的字符集为准
●collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
●engine存储引擎,如果没有指定存储引擎,则以所在数据库的存储引擎为准

创建表案例:
案例: 创建一个学生表,其中包含学号、姓名、性别。
在这里插入图片描述
上述的charset、collate、engine后面可以不跟’=',可以直接对应的取值,如下图所示↓↓↓
在这里插入图片描述
上述的charset还可以写成character set,且各属性之间可以选择使用空格间隔,也可以选择使用逗号间隔↓↓↓
在这里插入图片描述
★ps:不同的存储引擎创建的表的文件是不一样的↓↓↓
在这里插入图片描述
其中student和student_copy表的存储引擎是InnoDB,在数据库目录中各有两个不同的文件:以.frm结尾的是表结构,以.ibd结尾的是表索引。
而student_recopy表的存储引擎是MyISAM,在数据库目录中有三个不同的文件:以.frm结尾的是表结构,以.MYD结尾的是表数据,以.MYI结尾的是表索引。
关于什么是索引,及存储引擎的具体差异,将于后序文章中介绍,这里先了解:不同的存储引擎在具体存储时存在一定的差异

查看表结构

上文使用的show create table [表名称] \G虽然能够查看表的创建语句,但无法清晰明了的展现表的各个细节。

如果想查看表的各个细节,可以使用如下指令↓↓↓

desc 表名称;

在这里插入图片描述

修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

表添加字段语法:

alter table table_name add(column datatype [default expr][,column datatype]...);

表删除字段语法:

alter table table_name drop(column [,column]...);

表修改字段属性(不修改字段名称)语法:

alter table_name modify(column datatype [default expr][, column datatype]...);

表修改字段属性(可修改字段名称)语法:

alter table tabel_name change 原字段名称 新字段名称 [default expr];

表名称修改语法:

alter table 原表名称 rename to 新表名称;

修改表案例:
案例1: 给student表添加年龄字段,并添加在姓名之后

alter table student add age int after name;

在这里插入图片描述
案例2: 给student插入3条数据后,在所有字段之后添加birthday字段

insert into student values('0001','小明',18,'男');
insert into student values('0002','小菜',19,'男');
insert into student values('0003','小树',23,'男');
select * from student;

在这里插入图片描述

alter table student add dirthday date;

在这里插入图片描述
★ps:从上面可知,由于添加字段,原来的数据中没有新增字段的数据,这些位置会被填写Defaut数值。原来的数据并不会受到影响。
案例3: 将student表中的name字段varchar长度修改为64

alter table student modify name varchar(64);

在这里插入图片描述
案例4: 删除age字段
在这里插入图片描述
★ps:删除字段一定要小心,删除字段及其对应的列数据都没了

案例5: 修改student表表名为stu
在这里插入图片描述
★ps:rename语句中,to可以省略

案例6: 修改gender字段名为sex
在这里插入图片描述

删除表

语法:

drop [temporary] table [if exists] table_name [,table_name]...

下图演示了删除stu表↓↓↓
在这里插入图片描述

🎈欢迎进入半夜学习MySQL专栏,查看更多文章。
如果上述内容有任何问题,欢迎在下方留言区指正b( ̄▽ ̄)d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/685513.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python作业三:扫描目录文件,发送到指定邮箱

问: 作业任务:编写python代码,扫描指定的目录下的所有文件,将这些扫描的文本内容邮件发送到指定邮箱(如:自己的qq邮箱) 发送邮箱:yagmail 以 163 邮箱为例,在编码之前,我们需要开…

node pnpm修改默认包的存储路径

pnpm与npm的区别 PNPM和NPM是两个不同的包管理工具。 NPM(Node Package Manager)是Node.js的官方包管理工具,用于安装、发布和管理Node.js模块。NPM将包安装在项目的node_modules目录中,每个包都有自己的依赖树。 PNPM&#xf…

Qexo:让你的静态博客动起来

Qexo是一个强大而美观的在线静态博客编辑器,它不仅限于编辑,而是将静态博客提升到新的高度。通过GPL3.0开源协议,Qexo提供了一个集编辑、管理、扩展于一体的平台,让静态博客也能拥有动态的元素。无论你是Hexo、Hugo还是Valaxy的用…

教你解决PUBG绝地求生卡在初始界面 登不上去 打不开游戏的问题

在热门大逃杀游戏《绝地求生》(PUBG)里,紧张刺激的战斗和高度还原的战场环境深深吸引着全球玩家的心。然而,在经历一场紧张激烈的生存挑战后,部分玩家遭遇了一段不太愉快的小插曲:游戏在胜利或战败的结算界…

3. 多层感知机算法和异或门的 Python 实现

前面介绍过感知机算法和一些简单的 Python 实践,这些都是单层实现,感知机还可以通过叠加层来构建多层感知机。 2. 感知机算法和简单 Python 实现-CSDN博客 1. 多层感知机介绍 单层感知机只能表示线性空间,多层感知机就可以表示非线性空间。…

Java毕业设计 基于SpringBoot vue新能源充电系统

Java毕业设计 基于SpringBoot vue新能源充电系统 SpringBoot 新能源充电系统 功能介绍 首页 图片轮播 充电桩 充电桩类型 充电桩详情 充电桩预约 新能源公告 公告详情 登录注册 个人中心 余额充值 修改密码 充电桩报修 充电桩预约订单 客服 后台管理 登录 个人中心 修改密码…

【qt】联合容器和集合容器

联合容器和集合容器 一.QMap1.应用场景2.添加数据3.删除数据4.修改数据5.查找数据6.数据个数7.是否包含8.返回所有的键名 二.QHash1.应用场景: 三.QMultiMap四.QMultiHash五.QSet1.应用场景2.交集3.并集4.差集 总结: 一.QMap 1.应用场景 QMap的底层实现…

C#中字典Dictionary与自定义类型CustomType之间的转换

C#中字典Dictionary与自定义类型CustomType之间的转换 思路: 可以使用反射System.Reflection来获取类的具体属性, 属性名称就映射字典的键Key。 新建控制台程序DictionaryCustomClassConversionDemo 第一步、新建关键转换类ConversionUtil。 类Con…

智能创作时代:AI 如何重塑内容生成游戏规则

文章目录 前言一:自动化内容生成文章生成视频制作音频创作 二:内容分发与推广智能推荐系统社交媒体优化 三:内容分析与优化数据分析用户反馈质量控制 结语 前言 在数字化时代的浪潮中,内容生产与消费已成为信息传播的核心。随着人…

数据结构与算法学习笔记九-二叉树的链式存储表示法和实现(C语言)

目录 前言 1.二叉树的链式存储 2.二叉链表的表示和实现 1.定义 2.创建 4.中序遍历二叉树 5.后序遍历二叉树 6.后序遍历二叉树 7.完整代码 前言 这篇博客主要介绍二叉树的链式存储结构。 1.二叉树的链式存储 上篇文章中介绍了二叉树的顺序存储结构,在最坏的…

ESP32引脚入门指南(六):从理论到实践(UART)

ESP32开发板具有UART0、UART1和UART2三个UART接口,支持异步通信(RS232和RS485)和IrDA速率高达5mbps。这些接口提供了丰富的串行通信选项,允许与各种设备进行全双工通信。 UART接口概述与引脚配置 UART 是一种全双工通信协议,允许数据同时在…

UE4 3D文字自动换行

效果:3D文字超过5位自动换行 1.随意输入一段字符串测试,创建string临时变量,用于迭代存储字符串 2.当字符串遍历至第“换行长度”(我这里是5)位时,附加一次空行