首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mysql中的列类型

Mysql中的列类型

作者头像
Tony He
发布2022-11-17 14:09:43
发布2022-11-17 14:09:43
8K0
举报
文章被收录于专栏:ouorz.comouorz.com

Mysql中的列类型:

  1. 数字类型
  2. 字符串类型
  3. 布尔型
  4. 日期时间类型

数字类型:

1个字节=8比特,但数字里有一个比特用于符号占位

  1. TINYINT 占用1个字节,表示范围:-128~127
  2. SMALLINT 占用2个字节,表示范围:-32768~32767
  3. INT 占用4个字节,表示范围:-2147483648~2147483647
  4. BIGINT 占用4 / 8个字节,表示范围:-9223372036854775808~9223372036854775807
  5. FLOAT[(M,D)] 单精度浮点型,占4个字节
  6. DOUBLE[(M,D)] 双精度浮点型,占8个字节
  7. DECIMAL[(M,D)] 严格定点数,用于精确运算

M表示总有效位数,D表示小数点后有效位数

字符串类型:

\0表示一个字符串结束

  1. CHAR(M)

固定长度字符串,长度最大为225个字符

  1. VARCHAR(M)

长度可变的字符串,长度最大为65535个字符

  1. TEXT(M)

长度可变的字符串,长度最大到4G个字符

定长字符串可能会浪费空间,但效率较高

变长字符串不会浪费空间,但效率稍慢

面试题:CHAR(8)和VARCHAR(8)的区别

CHAR(8)输入“abc”实际存储为

“abc ”即“abc\0\0\0\0\0”

VARCHAR(8)输入“abc”实际储存为

“abc ”即“abc\0”

时间类型:

  1. DATE

支持的范围是1000-01-01 ~ 9999-12-31

  1. TIME

支持的范围是00:00:00 ~ 23:59:59

  1. DATETIME

支持的范围是1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

列上的约束:

Constraint:约束,列上的值往往是有限制的,如:

性别:只能取男或女

政治面貌:只能取党员、团员、群众

高考成绩:FLOADT(4,1) 取值有规则

电话、手机号码:有格式要求

用户名:必须唯一

登录密码:密码不能为空字符串且长度不能少于N位

员工所在部门:可取值必须在部门表中存在过

主键约束: 列名 类型 PRIMARY KEY

声明为“主键”的列上不能出现NULL值,且不能重复,如学生编号、商品编号。

表中所有的记录行会自动按照主键列上的值进行排序。

一个表至多只能有一个主键列。

唯一约束: 列名 类型 UNIQUE

声明为“唯一”的列上不能出现重复值,但可以出现多个NULL值。

非空约束: 列名 类型 NOT NULL

声明为“非空”约束的列上不能出现NULL,但可以重复

检查约束对于Mysql不支持

默认值约束 列名 类型 Default 值

声明为“默认值”约束的列上没有值的将会默认采用默认设置的值

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档