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

【MySQL】简单掌握数据类型与表操作,让数据库性能飞跃

 个人主页:♡喜欢做梦

欢迎  👍点赞  ➕关注  ❤️收藏  💬评论


目录

🌳一、数据类型

🍃1.数值类型

🍂整型类型

🍂浮点型类型

🍂定点数类型

🍃2.字符串类型

3.🍃日期和时间类型

4.🍃二进制类型

🌳二、表的操作

🍀 1.表的查看

🍀 2.表的创建

🍀 3.查看表的结构

🍀 3.表的删除


🌳一、数据类型

数据类型可分为:数值类型、字符串类型、日期和时间类型、二进制类型等。

🍃1.数值类型

🍂整型类型

整型类型:包括BIT、TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT,分别占用1、2、3、4、8个字节,用于存储不同范围的整数。

整型类型大小范围对应java类型
BIT(M)M指定位数,默认为1

主要用于存储二进制数,每一位只能存储0或1。M的范围在1~64,BIT的取值范围-2^M-1~2^M-1,无符号取值范围0~2^M-1

Boolean
TINYINT1字节取值范围-2^7~2^7-1,无符号取值范围0~2^8-1Byte
SMALLINT2字节取值范围-2^15~2^15-1,无符号取值范围0~2^16-1Short
MEDIUMINT3字节取值范围-2^23~2^23-1,无符号取值范围0~2^24-1

Integer/Short

INT4字节取值范围-2^31~2^31-1,无符号取值范围0~2^32-1Integer
BIGINT8字节取值范围-2^63~2^63-1,无符号取值范围0~2^64-1Long
  • 在int和bigint之间,经常使用的是bigint,范围更大; 

🍂浮点型类型

浮点型类型:浮点型类型有FLOAT和DOUBEL,FLOAT通常占用4字节,DOUBLE通常占用8字节。用于存储单精度和双精度浮点数,表示带小数的数值,但是存在精度误差。

浮点型类型大小说明对应java类型
FLOAT(M,D)4字节单精度,M指定长度,D表示小数点位数,大约可以精确到小数点后7位,会发生精度丢失Float
DOUBLE(M,D)8字节双精度,M指定长度,D表示小数点位数,大约可以精确到小数点后15位,会发生精度丢失Double

🍂定点数类型

定点数类型:DECIMAL(NUMERIC)用于存储精确的小数值,能指定精度和小数位数,适合处理了财务等对要求精度高的数据。

定点数类型大小说明对应java类型
DECIMAL(M,D)动态

双精度,M指定长度,D表示小数点位数,如果省略M,默认为10,省略D,默认为0,精确数值

DigDecimal

🍃2.字符串类型

字符串的主要类型有CHAR、VARCHAR、TEXT、BLOB、ENUM、SET。

字符串类型说明
CHAR[(M)]固定长度字符串,M表示长度,以字符为单位,取值范围0~255,M省略则长度为1,适合存储固定的数据,如身份证号
VARCHAR(M)可变长度字符串,M表示字符的最大长度,取值范围0~65535,有效字符个数取决于实际字符数和使用的字符集
TEXT[(M)]存储大文本类型数据,可存储较长的字符串。有TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT多种类型,存储量不同。有效字符个数取决于实际字符数和使用的字符集
BLOB二进制形式的长文本数据,存储图片、视频、音频等,有TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。
ENUM枚举类型,内部以整型形式存储,定义时需指定允许的值列表,只存储列表中的值。适用场景:性别字段、订单状态。
SET[(M)]集合类型,可存储多个值,定义时指定允许的成员列表,以整型的形式存储,通过二进制来表示每个成员是否存在。

CHAE和VARCHAR的区别:

  • char是固定长度,一般使用在数据长度固定的情况下,比如身份证等;
  • varchar是可变长度,有效长度取决于实际长度,更节省空间,一样用于存储姓名、地址等。

3.🍃日期和时间类型

日期和时间类型说明
DATE存储日期,格式为 YYYY-MM-DD,可存储范围1000-01-01~9999-12-31
TIME存储时间,格式为HH:MM:SS,范围是-838:59:59~838:59:59
DATETIME

同时存储时期和时间,格式为YYYY-MM-DD HH:MM:SS 

范围从1000-01-01 00:00:00~9999-12-31 23:59:59

TIMESTAMP时间戳类型,能自动记录插入或更新记录的时间,范围1970-01-01 00:00:00~9999-12-31 23:59:59
YEAR4位格式的年份,格式为YYYY,范围1901~2155

4.🍃二进制类型

二进制类型说明
BINARY和VARBINARY类似CHAR和VARCHAR,分别用于存储固定长度和可变长度的二进制数据,如果图片等二进制文件
BLOB二进制形式的长文本数据,存储图片、视频、音频等,有TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB多种类型

🌳二、表的操作

进行表达操作之前,所以我们要先选择库,才能操作表

查看所有库:

这是我所有的库,我选择java1仓库来查看他所拥有的表,先选择一下库:

 

保险起见在查看当前选择的库是哪一个:

 

有确实是java1仓库。那么接下来我们就是要进行表的操作了,首先是表的查看。 

🍀 1.表的查看

show tables;

  • tables是复数; 
  • 与查看库的语法大体相同,只不过是将单词databases换成tables 。

示例:查看java1仓库中的所有表

 

 我java1仓库中是没有表的,所以其显示为空。

🍀 2.表的创建

语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(
field datatype,
field datatype 
);
  • TEMPORARY:表示创建的是一个 临时的表;
  • field:列名;
  • datatype:表示数据类型;
  • 最后一个字段的定义不加逗号;
  • 字段的定义包围在小括号中,以分号结尾。
  • 可以使用comment在每个字段后添加注释。

 示例:创建一个课程表

查看一下表是否存在库中:
 

  • 建议每一个表都有一个编号字段,类型为bigint ;
  • vachar要制定长度,一般50就够用,在工作中按要求指定。 

🍀 3.查看表的结构

desc 表名; 

示例:

查看courses表 

 

🍀 3.表的删除

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
  • 也可以一次同时删除多个表,用逗号隔开 
  • 表的删除要谨慎

 示例:

写法一:

写法二:加上if exists

 

因为courses已经被我删除,所以这里报了警告,

如果想要查看警告信息

 show warnings;

 

如果没有加上if exists ,并且该表不存在,你直接删除,他会直接报错;

 


http://www.lryc.cn/news/539476.html

相关文章:

  • JUC并发编程——Java线程(一)
  • Python入门笔记3
  • 【SQL教程|07】sql中条件查询where用法示例
  • 项目实战(13)-双频RFID语音播报阅读器
  • 基本控制环节的幅频和相频特性
  • vue3 ref和reactive的区别
  • Maven 构建报告与文档生成
  • 复制内容到软件内部,软件内部内容不刷新
  • C# 实现完善 Excel 不规则合并单元格数据导入
  • C#功能测试
  • C++17并行化加速STL算法——std::execution
  • 从sumsub获取用户图片
  • DeepSeek + Mermaid编辑器——常规绘图
  • ARM64 Trust Firmware [五 ]
  • Excel核心函数VLOOKUP全解析:从入门到精通
  • KTransformers如何通过内核级优化、多GPU并行策略和稀疏注意力等技术显著加速大语言模型的推理速度?
  • 审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空
  • 微信小程序项目 video 组件失效问题,无法播放本地视频
  • 若依-@Excel新增注解numberFormat
  • 网络安全行业有哪些公司
  • 存储区域网络(SAN)管理
  • 如何使用Spark SQL进行复杂的数据查询和分析
  • sass报错:[sass] Undefined variable. @import升级@use语法注意事项
  • 使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)安装适配 Java 8 的 Maven
  • anythingllm服务器部署+ollama+deepseek+实现本地知识库问答
  • 深度学习04 数据增强、调整学习率
  • 2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第10套模块A:网络构建
  • 2023年河北省职业院校技能大赛网络系统管理赛项样题解法
  • vite+vue3开发uni-app时低版本浏览器不支持es6语法的问题排坑笔记
  • Linux系统编程基础详解