ToB企服应用市场:ToB评测及商务社交产业平台

标题: [MySQL#3] 数据约束 | 数值类 | varchar | timestamp | enum vs set [打印本页]

作者: 老婆出轨    时间: 2024-10-29 05:48
标题: [MySQL#3] 数据约束 | 数值类 | varchar | timestamp | enum vs set
目录
1. 引入
2. 数值范例
⭕ 约束
2.2 bit范例
2.3 浮点数范例
3. 字符串范例
3.1 char
3.2 varchar
3.3 char和varchar比力
4. 日期和时间范例
5.enum和set
数据库SET范例插入规则条记
聚集查询使用find_ in_ set函数:
find_in_set函数界说
返回值表明
功能阐明
应用实例
复合条件查询示例

接上篇文章的一个小提醒:数据库很底层了,界说了就只管不要改啦,否则上层也要变更和调整
本文头脑导图如下:


1. 引入

数据范例分类
在MySQL中,每种数据范例都有其特定的用途,类似于我们在学习C/C++等语言时碰到的情形。以下是一些MySQL中常见的数据范例:


2. 数值范例

数值范例可以分为以下几类:位范例、布尔范例、整数范例、浮点数范例。
以下主要以整型为例进行阐明:




以tinyint范例为例,其他整数范例的使用方法与此类似。

  1. create table if not exists t1(
  2.     num tinyint
  3. );
复制代码
在这里,我们看到tinyint背面有一个数字4,这个寄义我们将在讨论约束时详细阐明,如今先不思量。



创建无符号tinyint范例的表:
  1. create table t2(
  2.     num tinyint unsigned
  3. );
复制代码
这样就创建了一个num字段为无符号范例的表。当插入超出取值范围的数据时,MySQL会拦截,不允许插入。



⭕ 约束


所以mysql中,一般而言,数据范例本身也是一种:约束!

思考:

tinyint我们说完了,其他范例自己推导。

2.2 bit范例

根本语法:

  1. create table t3(
  2.     id int,
  3.     online bit(1)
  4. );
复制代码
使用一个比特位来表示用户是否在线。由于只有一个比特位,只能插入0或1。



2.3 浮点数范例


2.3.1 float

  1. create table if not exists t4(
  2.     id int,
  3.     salary float(4,2)
  4. );
复制代码

无符号float范例的表:
  1. create table t5(
  2.     id int,
  3.     salary float(4,2) unsigned
  4. );
复制代码
无符号float(4,2)的取值范围是0 ~ 99.99,插入负数将失败。
浮点数在存储时可能会有精度损失。

2.3.2 decimal






3. 字符串范例

3.1 char




   ❓为什么一个汉字可以插,两个汉字也可以插,但是插入三个中文的时候就不让我插了?
  







欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4