MySQL基本数据类型
时间:2021-08-07
本文章向大家介绍MySQL基本数据类型,主要包括MySQL基本数据类型使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
整型
''' 分类 TINYINT SMALLINT MEDUIMINT INT BIGINT 作用 存储年龄,等级,id,号码等等 图片介绍地址:https://images2017.cnblogs.com/blog/1036857/201708/1036857-20170801181433755-146301178.png 以TINYINT作验证 是否有符号 默认情况下是带符号的 超出会如何 超出限制只存最大可接收值 create table t9(id tinyint); insert into t9 values(-129),(256); 约束条件之unsigned(无符号) create table t10(id tinyint unsigned); insert into t10 values(-1),(256); create table t11(id int); insert into t11 values(-1),(256); int默认也是带符号的 整型默认情况下都是带有符号的 针对整型,括号内的宽度到底是干嘛的?(作显示,并不是指只能存多少位) create table t12(id int(8)); insert into t12 values(123456789); insert into t12 values(1); 特例:只有整型括号里面的数字不适表示限制位数 id int(8) 如果数字没有超出8位,那么默认用空格填充至8位 如果数字超出了8位,那么有几位就存几位(但是还是要遵守最大范围) 约束条件之zerofill create table t13(id int(8) unsigned zerofill); 用0填充至8位 总结: 针对整型字段,括号内无需指定宽度,因为它默认的宽度已经足够显示所有的数据了 '''
浮点型
''' 分类 float double decimal 作用 身高,体重,薪资... 存储限制 float(255,30) # 总共255位,小数部分占30位 double(255,30) # 总共255位,小数部分占30位 decimal(65,30) # 总共64位,小数部分占30位 精确度验证 create table t15(id float(255,30)); create table t16(id double(255,30)); create table t17(id decimal(65,30)); insert into t15 values(1.111111111111111111111111111111); insert into t16 values(1.111111111111111111111111111111); insert into t17 values(1.111111111111111111111111111111); 精确度:float<double<decimal 要结合实际应用场景,三者都能使用 扩展:其实在实际生产中,很多看似需要用整型或者浮点型存储的数据,内部可能都是用的字符类型存储 '''
字符类型
''' 分类 char 定长;char(4)数据超过四个字符直接报错,不够四个字符空格补全 varchar 变长;varchar(4)数据超过四个字符直接报错,不够有几个存几个 create table t18(name char(4)); create table t19(name varchar(4)); insert into t18 values('a'); insert into t19 values('a'); 介绍一个小方法char_length统计字段长度 select char_length(name) from t18; select char_length(name) from t19; 首先可以肯定的是char硬盘上存的绝对是真正的数据,带有空格;但是在显示的时候,mysql会自动将多余的空格剔除 再次修改sql_mode,让MySQL不要做自动剔除操作 set global sql_mode = 'strict_trans_tables,pad_char_to_full_length'; 因为是修改,所以之前的严格模式也需要带上 char与varchar对比 char 缺点:浪费空间 优点:存取都很简单,直接按照固定的字符存储数据即可 jason egon mike 存按照字符长度存,取也直接按照字符长度取 varchar 有点:节省空间 缺点:存取较为麻烦 1bytes+jason 1bytes+egon 1bytes+mike 存的时候需要制作报头,取的时候也需要先读取抱头,之后才能读取真实数据 以前基本上都是用的char,其实现在用varchar的也挺多 后面使用哪个都行,建议使用varchar 补充: 进来公司之后你完全不需要考虑字段类型和字段名,因为产品给你发的邮件上已经全部指明了 '''
时间类型
''' date 年月日2021-8-7 datetime 年月日时分秒2021-8-7 10:10:10 time 时分秒10:10:10 Year 2021 create table student( id int, name varchar(16), born_year year, birth date, study_time time, reg_time datetime ); insert into student values(1,'egon','2020','1880-11-11','11:11:11','2021-11-11 11:11:11'); '''
枚举与集合类型
''' 分类 枚举(enum):多选一 集合(set):多选多(也可以单选) 具体使用 create table user( id int, name char(16), gender enum('male','female','others') ); insert into user values(1,'jason','male'); insert into user values(2,'egon','xxxooo'); 报错 # 枚举字段,后期在存数据的时候只能从枚举里面选择一个存储 create table teacher( id int, name char(16), gender enum('male','female','others'), hobby set('read','DBJ','hecha') ); insert into teacher values(1,'jason','male','read,DBJ'); insert into teacher values(2,'egon','male','read'); insert into teacher values(3,'mike','others','生蚝'); 报错 # 集合可以只写一个,但是不能写没有列举的 '''
while True:
print('studying...')
原文地址:https://www.cnblogs.com/xuewei95/p/15113232.html
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 【C语言简单说】七:自定义函数(1)
- 【C语言简单说】七:自定义函数(2)
- 【C语言简单说】七:自定义函数(3)
- 【C语言简单说】八:分支结构之if(1)
- 【C语言简单说】八:分支结构之if...else...(2)
- 【C语言简单说】八:分支结构之if...else if()...else...(3)
- 【C语言简单说】九:输入
- 【C语言简单说】十:小结
- 【C语言简单说】十一:switch 补
- 【C语言简单说】十二:逻辑运算符&&
- 【C语言简单说】十三:逻辑运算符||
- 【C语言简单说】十三:变量的生命周期
- 【C语言简单说】十四:for循环
- 【C语言简单说】十五:while循环
- 【C语言简单说】十六:do...while循环