MySQL进阶12-- 数据类型介绍: 数值型/字符型/日期型-- 正负溢出保护/枚举型/set型/时间戳
/*进阶12
SQL 数据类型介绍
数值型:
整数: Tinyint(1b) < mediumint(3b)<smallint(2b) <int(4b) <bigint(8b)
( 默认有符号;
1/无符号类型:int unsigned; 正数轴长度加一倍;
2/如果插入的数据超出了规定的返回,则返回临界值
3/如果不设置长度,会有默认的长度;长度代表了显示的最大宽度,如果不够会用0在左边,但必须搭配zerofill填充!
--------------------) 小数: 1)....(M,D): M表示整数部位长度,D表示小数1部位长度;
2)M溢出后表示为9999.999; 定点数: dec(M,D),decimal(M,D),
1.默认为decimal(10,0)
2.精度更高,比如货币运算等运算则考虑使用
浮点数:
1.float(M,D) ,浮点数类型,4 个字节;
2.double(M,D) ,8个字节
枚举型: enum(...........);不区分大小写;
set 类型 : 不区分大小写,set类型最多里面可以保存0~64 个成员; ------------------- 字符型:
较短的文本:char(M:0--255) : (M可以省略,默认为1)可插入字符数上限 ,效率高,空间开支大
varchar(M:0--65535) : (M不可以省略)可变的字符数长度 ,效率低,空间相对低
较长的文本:text / blob(较长的二进制数据)
其他:
binary 和 varbinary用于保存较短的二进制;
enum 用于保存枚举
set用于保存集合
日期型:
date : 4b,仅保存年月日: 1000-01-01 , 9999-12-31
time : 仅保存时分秒
datetime : 8b ,不受时区影响, 最小值:1000-01-01 00:00:00 ,最大值:9999-12-31 23:59:59
timestamp(时间戳): 4b, 随时区改变而改变, 1970年-->2038年 */
#1 溢出保护
DROP TABLE IF EXISTS tab_int;
CREATE TABLE tab_int(
t1 INT,
t2 INT UNSIGNED );
INSERT INTO tab_int VALUES(100000000000000,-100); #2147483647,0
DESC tab_int;
SELECT * FROM tab_int;
#2 设置位数,0填充宽度
CREATE TABLE tab2_int(
t1 INT(7) ZEROFILL,
t2 INT(7) UNSIGNED ZEROFILL );
INSERT INTO tab2_int VALUES(123,123); # 0000123 , 0000123
DESC tab2_int;
SELECT * FROM tab2_int;
#3 测试溢出
CREATE TABLE tab_float(
f1 FLOAT(5,2),
f2 DOUBLE(5,2),
f3 DECIMAL(5,2)
); SELECT * FROM tab_float;
INSERT INTO tab_float VALUE(123.456,123.4444,123.55); #123.46,123.44,123.55
INSERT INTO tab_float VALUE(123.456,123.4444,123456.55); #123.46,123.44,999.99 #4 测试enum 枚举型
CREATE TABLE tab_char(
row1 ENUM('a','b','c','d')
);
INSERT INTO tab_char VALUES('a'); #a
INSERT INTO tab_char VALUES('M'); #' '
INSERT INTO tab_char VALUES('A'); #'a'
SELECT * FROM tab_char; #5 测试set 集合类型
DROP TABLE IF EXISTS tab_set;
CREATE TABLE tab_set(
row1 SET('a','b','c','d')
);
INSERT INTO tab_set VALUES('a,c,d'); #a SELECT * FROM tab_set; #四:日期型 CREATE TABLE tab_date(
t1 DATETIME,
t2 TIMESTAMP
);
INSERT INTO tab_date VALUES(NOW(),NOW()); #2018-10-29 15:13:24,2018-10-29 15:13:24
SELECT * FROM tab_date; SHOW VARIABLES LIKE 'time_zone'; SET time_zone='+9:00'; # 2018-10-29 15:13:24 ,2018-10-29 16:13:24
MySQL进阶12-- 数据类型介绍: 数值型/字符型/日期型-- 正负溢出保护/枚举型/set型/时间戳的更多相关文章
- MySQL 中的数据类型介绍(转)
据我统计,MySQL支持39种(按可使用的类型字段统计,即同义词也作多个)数据类型.下面的介绍可能在非常古老的mysql版本中不适用. 转载出处:http://blog.csdn.net/anxpp/ ...
- MySQL 中的数据类型介绍
1.MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 2.数值类型(12) 2.1. ...
- MySQL中的数据类型 [数值型、字符串型、时间日期型]
MySQL中的数据类型 [数值型.字符串型.时间日期型] MySQL中各数据类型 1. 数值类型(整型) 类型 数据大小 类型 (无符号:unsigned) 数据大小 存储空间 tinyint -12 ...
- 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)
一.初识MySQL数据库 ###<1>数据库概述 1. 数据库 长期存储在计算机内的,由组织的可共享的数据集合 存储数据的仓库 文件 ...
- MySQL:数据类型介绍
数据类型介绍 一.整数类型(可以添加自增约束条件) 数据类型 存储需要 有符号 无符号 tinyint 1个字节 -2^7~2^7-1 0~2^8 smallint 2个字节 -2^15~2^15-1 ...
- MySQL全面瓦解3:数据类型介绍与分析
概述 MySQL支持很多数据类型,以便我们能在复杂的业务场景中支持各种各样的数据格式,存储适当的数据内容.我们在设计数据库时,正确的使用数据库类型对整个数据库的整洁和高效,会有很大的帮助. 目前常用的 ...
- mysql进阶(十)不靠谱的FLOAT数据类型
今天在设计数据表时,突然发现原来FLOAT原来是很不靠谱的,所以在这里建议大家换成DOUBLE类型, 原因是: 在mysql手册中讲到,在MySQL中的所有计算都是使用双精度完成的,使用float(单 ...
- Mysql(三)-2:数据类型
一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...
- 存储引擎和表的操作(mysql中的数据类型、完整性约束)
一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...
随机推荐
- Java基础:类文件结构及类加载
Class文件结构 魔数 4bits 确定该文件是否是可接受的Class文件(0xCAFEBABE) 版本号 4bits 包括次版本号和主版本号 常量池 包括字面量(文本字符串,声明为final的常量 ...
- 洛谷 题解 UVA12661 【有趣的赛车比赛 Funny Car Racing】
[题意] 在一个赛车比赛中,赛道有\(n(n<=300)\)个交叉点和\(m(m<=50000)\)条单向道路.有趣的是,每条道路都是周期性关闭的.每条道路用5个整数\(u,v,a,b,t ...
- 虚拟机中使用Samba实现文件共享
首先我们给虚拟机安装samba服务(如果搭的是别的仓库记得开仓库) 输入命令:yum install samba samba服务的配置文件在,我们来看一下/etc/samba/smb.conf 输入命 ...
- C++拾忆
1.引用 1.建立引用的时候,必须初始化,引用一旦初始化,就和一个对象绑定,不能再修改为其他对象的引用 2.对引用取地址,和对原始对象取地址,是同一个地址 3.不能用做引用的:void.数组 2.内联 ...
- JUC之原子类
在分析原子类之前,先来了解CAS操作 CAS CAS,compare and swap的缩写,中文翻译成比较并交换. CAS 操作包含三个操作数 —— 内存位置(V).预期原值(A)和新值(B).如果 ...
- Maven学习存档(2)——settings.xml配置
二.settings.xml配置 2.1 原文 <?xml version="1.0" encoding="UTF-8"?> <!-- Lic ...
- Mybatis动态sql及分页、特殊符号
目的: mybatis动态sql(案例:万能查询) 查询返回结果集的处理 mybatis的分页运用 mybatis的特殊符号 mybatis动态sql(案例:万能查询) 根据id查询 模糊查询 (参数 ...
- Account locked due to 25 failed logins
Account locked due to 25 failed logins pam_tally2 --user=ops #查看 pam_tally2 --user=ops --reset # ...
- Authorization
授权,也叫访问控制,即在应用中控制谁访问哪些资源(如访问页面/编辑数据/页面操作等).在授权中需了解的几个关键对象:主体(Subject).资源(Resource).权限(Permission).角色 ...
- 使用parted对Linux未分区部分进行分区
1. 使用命令parted -l 查看当前分区 可以看到硬盘有2396GB即有2.5T , 但是分区就分了50G一个盘, 需要分剩下部分 [root@localhost ~]# parted -l M ...