mysql有哪些基本的数据类型

发布时间:2020-05-15 14:08:40 作者:三月
来源:网络 阅读:193

本文主要给大家介绍mysql有哪些基本的数据类型,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql有哪些基本的数据类型吧。


数值类型


整数类型
tinyint  占用1个字节的微小整数 默认是有符号的整数 取值范围是-128-127    如果需要设置成无符号微小整数需要在类型后面加上unsigned关键字 无符号的取值范围是 0-255
smallint 占用2个字节的小整数 默认是有符号的整数 取值范围是-32768-32767 如果需要设置成无符号小整数需要在类型后面加上unsigned关键字 无符号的取值范围是 0-65535
mediumint 占用3个字节的中整数 默认是有符号的整数 取值范围是-2的23次方到2的23次方-1 如果需要设置成无符号中整数需要在类型后面加上unsigned关键字 无符号的取值范围是 0-2的24次方-1
int 占用4个字节的大整数 默认是有符号的整数 取值范围是-2的31次方到2的31次方-1 如果需要设置成无符号的大整数需要在类型后面加上unsigned 无符号的取值范围是 0-2的32次方-1
bigint 占用8个字节的极大整数 默认是有符号的整数 取值范围是-2的63次方到2的63次方-1 如果需要设置成无符号的大整数需要在类型后面加上unsigned 无符号的取值范围是 0-2的64次方-1
整数类型的可以指定显示宽度,不影响类型存储范围,int(5)表示显示宽度为5当不足5位时用空格在左边补充 ,如果需要用0补充,需要加zerofill关键字

mysql> create table _123.t2(age tinyint(3) zerofill) ;
mysql> insert into _123.t2 values(12);
mysql> select * from _123.t2;
+------+
| age  |
+------+
|  012 |
+------+
1 row in set (0.00 sec)

浮点数类型
float   占用4个字节的单精度浮点数 定义方式为float(m,n) m为总位数长度,n位小数位数长度 float是非标准类型,在数据库中保存的是近似值
double 占用8个字节的双精度浮点数 double(m,n)m为总位数长度,n位小数位数长度  double是非标准类型,在数据库中保存的是近似值
decimal 定点数
**浮点数如果不写经度和标度,会按照实际精度值保存,如果有精度和标度,则会自动将四舍五入后的结果插入,系统不会报错;定点数如果不写精度和标度,则按照默认值decimal(10,0) 来操作,如果数据超过了精度和标度值,系统会报错。


字符类型**


char  定长的字符类型最长为255个字符,字符数不够定义的长度时会在右边用空格补充占位
varchar 不定长的字符类型最长65535个字符 ,根据字符数的长度来开辟存储空间,由于在存储之前需要计算存储空间所以存储速度会比char慢,在实际应用中应该避免大量使用varchar类型
text/blob 在字符数大于65535时使用,可以存储视频、音频、图片等文件但是不建议使用数据库存储这些数据,一般使用存储文件的路径链接到物理存储空间


时间日期类型


year  年  默认赋值格式 YYYY 四位数的年份 1个字节
date  日期 默认赋值格式是 YYYYMMDD 四位年份两位月份两位日期 4个字节
time   时间 默认赋值格式是 hhmmss 两位小时两位分钟两位秒 3个字节
datetime  日期时间 默认赋值格式 YYYMMDD hhmmss 8个字节  取值范围是 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59.99 如果不给该类型的字段赋值,则用空代替
timestamp 日期时间 默认赋值格式 YYYMMDD hhmmss 4个字节 取值范围是 1970-01-01 00:00:00 ~ 2038-1-19 03:14:07.99 如果不给该类型的字段赋值,则用当前系统时间赋值
insert into _123.t4 values("tt",1990,083000,19900921,20180228193000);
如果是使用带格式的时间赋值需要以字符串的方式插入 (用引号引起来)

insert into _123.t4 values("tt",1990,"08:30:00","1990-09-21","2018-02-28 19:30:00");`
Query OK, 1 row affected (0.02 sec
```)
# 几个关于时间的函数 
获取当前系统日期时间函数now()  sysdate()
now()在调用开始时就得到了时间  sysdate()得到的是执行时的时间

获取日期函数 date()   需要传入一个日期时间参数  date(20180909121212) 得到的是2018-09-09   
如需要获取当前的日期date(now()) 或 curdate()
获取时间函数 time()   需要传入一个日期时间参数  time(20180909121212) 得到的是12:12:12  
如需要获取当前系统的时间time(now()) 或 curtime()
获取年的函数 year()  需要传入一个日期时间参数 
获取月的函数 month() 需要传入一个日期时间参数
获取日的函数 day() 需要传入一个日期时间参数 
获取小时的函数hour() 需要传入一个日期时间参数
获取分钟的函数minute() 需要传入一个日期时间参数
获取秒的函数second() 需要传入一个日期时间参数

-----

# 枚举类型

-----

枚举类型的值就是在指定的值列表中选择
set  多选类型    set(值列表) 
creat table db1.t1(sex enum("boy","girl"))
插入的值的时候sex字段只能是“boy”或者“girl”中的一个
enum 单选类型  enum(值列表)
creat table db1.t2(love set("film","girl","game")) 
插入的值的时候love字段只能是“film”或者“girl”或者"game"中的一个或者多个

mysql>create table _123.t5(name char(32),sex enum("boy","girl"),love set("film","music","girl"));
mysql>insert into _123.t5  values("bob",1,"film,girl");
mysql> select * from _123.t5;
+------+------+-----------+
| name | sex  | love      |
+------+------+-----------+
| bob  | boy  | film,girl |
+------+------+-----------+

看完以上关于mysql有哪些基本的数据类型,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

推荐阅读:
  1. Mysql支持的数据类型有哪些
  2. MySQL常用的数据类型有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 数据类型 数据类

上一篇:Postman可以这样用?实用技巧总结分享,赋能API测试和

下一篇:简单介绍mysql5.6的编译安装方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》