mysql中临时数据类型_mysql中的数据类型

mysql中的数据类型

1.整数

​tinyint 1个字节 无符号的8bit 最大255 有符号7个bit 127 -128

​smallint2个

​mediumint 3个

​int 4个 最常用 如果你的数据超过10位 用bigint

​bigint 8个

注意:1.默认情况整数是有符号的

​设置为无符号 unsigned

​alter table t2 modify age tinyint unsigned;

​create table t2(age tinyint unsigned);

mysql5.6 默认是非严格模式, 如果你的数据超出范围 会自动取最大值 一般不要这么搞 会丢失数据

查看当前的sql模式:

​select @@sql_mode; @表示全局变量 @@表示会话级变量(局部)

临时设置sql_mode

​set @@sql_mode = "xxxxx"

建议直接修改配置文件:

​[mysqld]

​sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

指定长度

​int(10) 如果你的数据不足10位 用0填充 (需要添加zerofill 这个约束)

​对于整数和小数而言 都是用控制 显示填充的最小长度

2.浮点

​两种不精确的小数

​float 可以精确到 大约5位

​double 比float更精确

​如果对精确度要求比较高 需要使用decimal 类型

​decimal 需要指定 位数如下: 位数不包括小数点

​decimal(65,30) 总长最大65 小数30

3.字符串

char 定长字符串

varchar 长度可变的字符串

​char(10) 存储abc 占10个字符长度

​优点:读取存储速度快于 varchar

​缺点: 浪费与磁盘空间

​varchar(10)abc3个字符长度外加一个bit 存储字符长度

​优点:节省空间

​缺点:速度慢于char类型

​如果字符长度不大 建议使用char类型 反之则选择varchar

​char 最大范围255

​varchar最大 65535

​如果不够那就采用text 最大可以存储2的32次方

text

​具备编码的大字符串

blob

​没有编码的大二进制 可以用来存储 多媒体数据 视频 音频等..... 一般不会存这种数据

​都是建一个文件服务器 数据库只保存文件的地址信息

​字符串类型中 需要掌握的 char varchar text blob也不常用

​注意: mysql会自动将字符串后面的空格删掉 所以你的数据在存储前应该先把空格处理掉

枚举和集合

枚举是提前规定一个范围 你的值只能是其中之一 多选一

集合是提前规定一个范围 你的值可以是其中的多个 多选多

集合在插入数据时 ,多个值之前用逗号隔开 但他们必须包含在同一个字符串内!

4.日期和时间

​year

​date

​time

​year date time 都可以用字符串或数字两种方式输入值

​datetime

​datestamp

​datetime和datestamp 只能使用字符串输入

上述所有类型的年份都可以是两位数

0-69 翻译为 2000-2069 70-99 翻译为1790-1999

​时间相关的函数和常量

​CURRENT_TIME 获取当前时间

​now()获取当前时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值