【MySQL-6】DDL的表结构的数据类型盘点&案例演示

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL-6】DDL的表结构的数据类型盘点&案例演示

前言

大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C++ Linux的老铁

主要内容含:


一.数值类型

  • 有符号:分正负;
  • 无符号:只有正数
  • 要使用无符号: 直接在类型后加上UNSIGNED即可
    例子: age tinyint unsigned
  • 要使用小数: 第一个参数控制长度,第二个参数控制允许出现的几位小数
    例子: score double(4,1)
类型 大小 有符号范围 无符号(UNSIGNED)范围 描述
tinyint 1 byte (-128.127) (0, 255) 小整数值
smallint 2 bytes (-32768, 32767) (0, 65535) 大整数值
mediumint 3 byte (-8388608,8388607) (0, 16777215) 大整数值
int/integer 4 byte (-2147483648, 2147483647) (0, 4294967295) 大整数值
bigint 8 byte (-2へ63, 2へ63-1) (0, 2へ64-1) 极大整数值
float 4 byte (-3.402823466 E+38, 3.402823466351 E+38) (1.175494351E-38,3.402823466E+38) 单精度浮点数值
double 1 byte (-128.127) (0, 255) 双精度浮点数值
decimal 依赖于M(精度)和D(标度)的值 依赖于M(精度)和D(标度)的值 小数值(精确定点数)


二.字符串类型

  • blob文本数据
  • text二进制数据
  • 二进制数据我们可以将其存储在数据库中,开发中很少这么做,性能不高,不方便管理,会用专门的文件服务器进行存储;
  • 用的比较多的是定长字符串,变长字符串
  • char :指定多少占多少空间,剩余空间用空格占位
  • varchar :用多少占多少空间
  • 用的比较多的是定长字符串,变长字符串
  • char :指定多少占多少空间,剩余空间用空格占位
  • varchar :用多少占多少空间
char(10)  //用3占10
varchar(10)    //用3占3

场景:

  • 用户名username,用varchar更好
  • 性别gender,要么男要么女,用char更好
username  varchar(50)
gender char(1)
类型 大小 描述
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
tinyblob 0-255 bytes 不超过255个字符的二进制数据
tinytext 0-255 bytes 短文本字符串
类型 大小 描述
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
tinyblob 0-255 bytes 不超过255个字符的二进制数据
tinytext 0-255 bytes 短文本字符串
longbolb 0-4294967295 bytes 二进制形式的极大文本数据
longtext 0-4294967295 bytes 极大文本数据

三.日期类型

  • 单独年月日十分表
  • 混合年月日时分秒
  • timestanp注意事项:时间戳只能到2038年
  • date / time / datetime用的比较多

场景:

  • 要描述生日,只用DATE
birthday date
类型 大小 范围 格式 描述
date 1 byte 1000-01-01 至 9999-12-31 YYYY-MM-DD 日期值
time 3 bytes 838:59:59至838:59:59 HH:MM:SS 时间值或持续时间
year 1 byte 1901至2155 YYYY 年份值
datetime 8 byte 1000-01-01 00:00:00至 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
timestanp 4 byte 1970-01-01 00:00:01 至 2038 -01-1903:14:07 YYYY-MM-DD HH:MM:SS 混合日期和时间值,时间戳

四.根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:

  1. 编号(纯数字)
  2. 员工工号(字符串类型,长度不超过10位)
  3. 员工姓名(字符串类型,长度不超过10位)
  4. 性别(男/女,存储一个汉字)
  1. 年龄(正常人年龄,不可能存储负数)
  2. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
  3. 入职时间(取值年月日即可)
create table emp(

     id int comment  '编号 ',
     workno varchar(10) comment  '工号 ',
     name varchar(10) comment  '姓名 ',
     gender char(1) comment '性别' ,
     age tinyint unsigned comment '年龄',
     idcard char(18) comment‘身份证号’,
     entrydate date comment ‘入职时间’

)comment '员工表';

我们复制粘贴到cmd中,发现创建完成

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
SQL 存储 关系型数据库
菜鸟之路Day29一一MySQL之DDL
本文《菜鸟之路Day29——MySQL之DDL》由作者blue于2025年5月2日撰写,主要介绍了MySQL中的数据定义语言(DDL)。文章详细讲解了DDL在数据库和表操作中的应用,包括数据库的查询、创建、使用与删除,以及表的创建、修改与删除。同时,文章还深入探讨了字段约束(如主键、外键、非空等)、常见数据类型(数值、字符串、日期时间类型)及表结构的查询与调整方法。通过示例代码,读者可以更好地理解并实践MySQL中DDL的相关操作。
168 11
|
10天前
|
存储 关系型数据库 MySQL
使用命令行cmd查询MySQL表结构信息技巧分享。
掌握了这些命令和技巧,您就能快速并有效地从命令行中查询MySQL表的结构信息,进而支持数据库维护、架构审查和优化等工作。
90 9
|
3月前
|
SQL 关系型数据库 MySQL
MySQL 5.6/5.7 DDL 失败残留文件清理指南
通过本文的指南,您可以更安全地处理 MySQL 5.6 和 5.7 版本中 DDL 失败后的残留文件,有效避免数据丢失和数据库不一致的问题。
|
5月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
7月前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
172 25
|
7月前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
8月前
|
SQL 监控 关系型数据库
MySQL如何优雅的执行DDL
在MySQL中优雅地执行DDL操作需要综合考虑性能、锁定和数据一致性等因素。通过使用在线DDL工具、分批次执行、备份和监控等最佳实践,可以在保障系统稳定性的同时,顺利完成DDL操作。本文提供的实践和案例分析为安全高效地执行DDL操作提供了详细指导。
358 14
|
9月前
|
存储 关系型数据库 MySQL
10个案例告诉你mysql不使用子查询的原因
大家好,我是V哥。上周与朋友讨论数据库子查询问题,深受启发。为此,我整理了10个案例,详细说明如何通过优化子查询提升MySQL性能。主要问题包括性能瓶颈、索引失效、查询优化器复杂度及数据传输开销等。解决方案涵盖使用EXISTS、JOIN、IN操作符、窗口函数、临时表及索引优化等。希望通过这些案例,帮助大家在实际开发中选择更高效的查询方式,提升系统性能。关注V哥,一起探讨技术,欢迎点赞支持!
472 5
|
9月前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
10月前
|
SQL 关系型数据库 MySQL

推荐镜像

更多