点击关注 不迷路

前言

上篇咱们介绍了MySQL的基本情况和建库建表语句,当然必不可少的增删改查中的增删改也一并介绍了一下,此处再次强调语句,删库需谨慎,三思而后行。

内容简介

本篇会分两部分介绍:

第一部分:MySQL中的数据类型

第二部分:MySQL中的字段约束

MySQL中的数据类型

MySQL是存储数据的数据库,涉及到数据就需要有数据的类型,MySQL中的数据类型大致可以分为以下五类:

数值类型 : 例如 int, bit;

浮点数类型 : 例如 float;

时间/日期类型 : 例如 date;

字符串类型: 例如 char,varchar;

枚举类型 : enum

我们下面依次对这些数据进行说明

数值类型

MySQL中的常见数据类型如下:

类型 字节大小 有符号范围(Signed) 无符号范围(Unsigned)
tinyint 1 -128 ~ 127 0 ~ 255
smallint 2 -32768 ~ 32767 0 ~ 65535
mediumint 3 -8388608 ~ 8388607 0 ~ 16777215
int/integer 4 -2147483648 ~2147483647 0 ~ 4294967295
bigint 8 -9223372036854775808 ~ 9223372036854775807 0 ~ 18446744073709551615

MySQL中我们最常见到的和用到的是int类型,而具体要用到那种取决于我们字段存储的数字大小。最好使用字段合适的类型,节省数据库空间,提升效率。

浮点数类型

浮点数常见类型:

类型 字节大小 取值范围
float 4 最小非零值:±1.175494351E – 38
double 8 最小非零值:±2.2250738585072014E – 308
decimal(M,D) 如果M>D,为M+2否则为D+2 可变,取值范围根据M和D进行改变

浮点数类型中值得一说的就是decimal(), decimal是一个可变的数据类型,数据的取值范围和占用的内存大小是可变的。

例如:decimal(5,2) 表示该字段取值最常为5位有效数字,小数点后面的占两位。

时间/日期类型

时间日期类型:

类型 字节大小 实例
date 4 '2020-11-19'
time 3 '16:55:23'
datetime 8 '2020-11-19 16:55:23'
year 1 '2020'
timestamp 4 '1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC

实际工作环境中使用这种类型的时候很少,一般来说都是使用数字类型来进行代替。

字符串类型

字符串类型:

类型 字节大小 示例
char 0 ~ 255 name char(10)
varchar 0 ~ 65535 name varchar(10)
text 0-65535 大文本

大家此处注意,如果大家是按照我们的这个教程进行安装的MySQL8.0的话,这个版本的varchar和char 两个类型后面的参数是表示接受多少个字符,不是字节。另外此处如果存储的数据长度超过了这个数字会报错。

枚举类型

MySQL中的枚举类型严格来说算是字符串类型,枚举类型的作用就是给出几个选项,该字段就只能在这几个选项中进行选择,类似于Excel中的下来菜单。

例如 gender enum('男', '女') 这个时候gender字段就只能在男或者女这两个中进行选择,如果是别的内容就会报错。

字段约束

MySQL中的字段约束分为6种:

NOT NULL:非空约束,用于保证该字段的值不能为空
比如姓名、学号等DEFAULT:默认约束,用于保证该字段有默认值
比如性别PRIMARY KEY:主键约束,用于保证该字段的值具有唯一性,并且非空
比如学生的学号、员工的编号等UNIQUE:唯一约束,用于保证该字段的值具有唯一性,可以为空
比如座位号FOREIGN KEY:外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
在从表添加外键约束,用于引用主表中某列的值
比如学生表的班级编号,员工表的部门编号,员工表的工种编号

AUTO_INCREMENT :自增约束,在表中插入数据时,如果不对该字段赋值,会自动在已有最大值的基础上+1

总结

数据类型的使用取决于该字段的存储内容,一定要选择合适的类型以及约束,这样可以让数据库的性能提升不少。

本系列下篇就正式开始查询语句了,大家快快关注我!!

点它,分享点赞在看都在这里

密封线

长按扫码交卷

mysql decimal_MySQL系列之数据类型及约束相关推荐

  1. mysql约束类型 A P_sql数据类型与约束总结

    前言: 我们已经总结了sql的基本用法,经过上一篇文章单表的相关逻辑操作我们已经会了,但是我们搞后台通常会通过java(此处就以使用最多的java总结了) 搞一些数据然后换成mysql能够接受的数据类 ...

  2. mysql中约束由数字构成_MySQL 数据类型和约束(外键是重点)

    数据类型 1. 数字(默认都是由符号,宽度表示的是显示宽度,与存储无关).tinyint 括号里指定宽度 七位2进制数最大数就是2**7 -1=127 最小是-128 验证: create tabel ...

  3. Mysql数据库——数据类型和约束

    数据类型和约束 1.数据类型: 常用数据类型: (1)整数:int,bit (2)小数:decimal (3)字符串:char,varchar (4)日期时间:date,time,datetime ( ...

  4. DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比

    随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...

  5. 数据库中数据类型和约束(整数类型、字符串、时间类型)

    数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,比如:数据类型和约束. 数据类型和约束保证了表中数据的准确性和完整性 1. ...

  6. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  7. django之关系及查询,数据类型,约束,分页

    目录 关系 数据列类型 数据类型的约束 分页 关系 1. 一对一(水平分表) 母表:UserInfoid name age 子表:privateid salary sp 创建模型语句: class U ...

  8. mysql数据库电话号码类型,mySQL数据库一:数据类型

    Mysql数据库的数据类型.索引.锁.事务和视图 Mysql数据库的数据类型.索引.锁.事务和视图 数据的类型 1)数据类型: 数据长什么样? 数据需要多少空间来存放? 系统内置数据类型和用户定义数据 ...

  9. 免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上)

    本节我们开始讲python数据类型之bytes类型,我们分为上下两个章节. 你可以直接到这个页面观看本节视频:免费视频教程!零基础学Python系列(7) - 数据类型之bytes(上) 以下为对应的 ...

最新文章

  1. 白盒测试工具_别再头疼工作效率低!这些超实用的黑盒、白盒测试方法你都用上了吗?...
  2. mysql数据库 web asp.net,使用基于asp.net web的应用程序的mysql数据库
  3. glReadPixels的用法和说明
  4. DGL教程【三】构建自己的GNN模块
  5. 批量梯度下降 linux,梯度下降的三种形式BGD,SGD,MBGD(MSGD)
  6. 基于指数平滑对心电信号进行PQRST模拟(第二种方案)
  7. 使用代码获得ABAP software component的version
  8. EA问题的JDK14实例
  9. python的pygame库使用方法_[宜配屋]听图阁
  10. linux 可执行文件去除绝对路径
  11. python3对接聊天机器人API
  12. 14个HTML5实现的效果合集
  13. 【CSS】虎躯一震!flex=1 和 flex-grow=1 竟然不一样!
  14. 使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题
  15. 鸿鹄论坛oracle资料,鸿鹄论坛_HCNA-Storage (H13-611)题库 v4.0.pdf
  16. 抖音java解析_Java版抖音解析接口
  17. Linux之压缩详解
  18. 【二叉树】用python实现AVL树
  19. J0ker的CISSP之路:What's CISSP
  20. Web安全—文件包含漏洞(RFILFI)

热门文章

  1. Glib2之dbus用法(五)
  2. UE4之UMG用户界面
  3. tensorflow之卷积神经网络
  4. hrrn算法java_常用的调度算法
  5. 阿里云服务器如何快速搭建Docker环境
  6. 电脑安装ubuntu linux操作系统
  7. spring相关jar包(Free)
  8. Http请求返回最外层的模型
  9. python 逻辑回归sklearn_python – 分类:使用sklearn进行PCA和逻辑回归
  10. sql 更新一些特殊要求字段(批量)