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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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中,发现创建完成

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
SQL 存储 关系型数据库
RDS for MySQL的SQL分类与数据类型
小明需在MySQL中管理商品信息,使用SQL完成业务操作。SQL分为DQL(查询)、DML(增删改)、DDL(定义)、DCL(权限控制)和TCL(事务)五大类。DDL用于创建、修改和删除数据库结构,DML处理数据,DCL控制权限,TCL管理事务,DQL则用于查询数据。MySQL有多种数据类型,如数值型(整数、小数)、日期型和字符串型等,选择合适的数据类型是高效开发的关键。
21 0
|
13天前
|
存储 关系型数据库 MySQL
MySQL数据类型详解及实例应用
MySQL数据类型详解及实例应用
|
13天前
|
SQL Kubernetes 关系型数据库
实时计算 Flink版产品使用合集之怎么解析 MySQL DDL 语句
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
存储 SQL 关系型数据库
【MySQL进阶之路 | 基础篇】基本的SELECT语句及DESC显示表结构
【MySQL进阶之路 | 基础篇】基本的SELECT语句及DESC显示表结构
|
10天前
|
SQL 关系型数据库 MySQL
RDS for MySQL的DDL、DML和DQL
这篇文章介绍了MySQL中处理数据的几种主要操作:DDL(Data Definition Language),DML(Data Manipulation Language)和DQL(Data Query Language)。首先讲解了如何使用CREATE DATABASE, ALTER DATABASE和DROP DATABASE语句来创建、修改和删除数据库。
21 1
|
15天前
|
前端开发 easyexcel 关系型数据库
EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
【5月更文挑战第11天】EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
27 1
|
15天前
|
SQL 数据可视化 关系型数据库
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
|
15天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
15天前
|
关系型数据库 MySQL 数据库
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
|
15天前
|
关系型数据库 MySQL Linux
【MySQL-9】一文带你搞定 外键约束&其【更新/删除行为】(可cv代码&案例演示)
【MySQL-9】一文带你搞定 外键约束&其【更新/删除行为】(可cv代码&案例演示)
http://www.vxiaotou.com