07.14自我总结

MYSQL数据库数据类型

一.整数类型和浮点数典型

1.有符号/没符号

对于整数和负整数来说,默认情况下是有符号范围的

默认有符号

有符号和没符号其实就是有没有包括负数,有符号是包括负数的

设置成无符号:

alter table 表名 变量名 数据类型 unsigned;

严格模式 非严格模式
有符号 (-,+) 超出范围会报错 (-,+) 超出范围取极值
无符号 (0,+) 超出范围会报错 (0,+) 超出范围取极值

2.严选/非严选

我们不推荐使用非严格模式下建立table,因为它会可能造成数据丢失的情况,所以我们必须在5.6版本中将mysql设置为严格模式。

方法一:select@@sql_mode; @表示全局变量;@@表示会话级变量(局部)

​ 临时设置set @@sql_mode ='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ';

方法二:直接修改配置文件;

​ [mysqld]

​ sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 并重启服务端mysql后生效.

  • 严选情况下,数据超过他的设置范围他会报错

  • 非严选情况下,数据超过他的设置范围不会报错,但是只存他设置大小的那一部分的数据,多余的会丢掉

3.常见的类型

1.整数型

数据类型 字节数 符号范围 有符号范围
TINYINT 1 0~255 -128~127
SMALLINT 2 0~65535 -32768~32767
MEDIUMINT 3 0~16777215 -8388608~8388607
INT 4 0~4294967295 -2147483648~2147483647
BIGINT 8 0~18446744073709551615 -9223372036854775808
~9223372036854775807

2.浮点型

数据类型 字节数 符号范围 有符号范围
float 4 1.175494351E-38
~3.402823466E +38
-3.402823466E+38~
-1.175494351E-38
double 8 2.2250738585072014E-308
~1.7976931348623157E+308
-1.7976931348623157E+308
~-2.2250738585072014E- 308
decimal[(M[,D])] 最大与
double相同
不固定 不固定 10.2 decimal(3,1);

二.字符串类型

1.char 与varchar

char:定长字符串,字符长度0-255个字节之间,存储时占用固定字节空间

相对于varchar来讲

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

varchar:可变长度字符串,字符长度在0-65532个字节,存储式占用空间实际字节长度+1,而+1是存的他的长度

原因:因为char我们如果规定6,然后输入3个字符,他后面的内容会用宫格来填充,而varchar不会用空格填充,所有存的时候空间节省了,而读的时候需要发送字符的数量所有读取会变慢

2.binary 与 varbinary

BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要二进制字符串
输入值的和char 与varchar差不多的填充效果

3.text与blob

blob:没有编码的二进制大字符串.(了解即可)

text:具备编码的大字符串;

都有四种

  • tinyblob,tinytext:
  • blob,text
  • mediumblob,mediumtext
  • longblob,longtext

4.enum与set

规定这个里面输入内容是什么,你可以输入他的内容,也可以输入他的索引

enum与set区别,enum只能输一个,set能输入一个或多个,且用集合的形式输入

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

三.时间类型

  • year :格式YYYT

  • data:格式YYYY-MM-DD
  • time:格式HH:MM:SS
  • datatime:格式YYYY-MM-DD HH:MM:SS
  • timestamp :格式YYYY-MM-DD HH:MM:SS (不用输入默认为数据插入时候的插入时间)

注意:

  • 0-69 翻译为 2000-2069; 70-99 翻译为1790-1999
  • year、date、time既可以用字符串也可以用数字输入值;current_time和now()输入系统当前日期
  • time不仅可以表示一天的时间,也可以表示两个时间的时间间隔
  • 'D HH:MM:SS'格式的字符串,D表示日(0-34),HH的实际值为D*24+HH
  • datetime、timestamp只能以字符串形式输入
  • 在使用timestamp时,输入current_timestamp输入系统当前日期和时间
  • 在使用timestamp时,输入null或不输入,系统会自动输入当前日期和时间

MYSQL数据库数据类型的更多相关文章

  1. MySQL数据库数据类型之集合类型SET测试总结

    MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...

  2. MySql数据库数据类型及约束介绍

    1,MySql中数据类型介绍 整型及浮点型 数据类型 存储范围 字节 TINYINT 有符号值:-2^到2^7-1 无符号值:0到2^8-1 2 SMALLINT 有符号值:-2^15到2^15-1 ...

  3. MySQL数据库数据类型以及INT(M)的含义

    nt(M)我们先来拆分,int是代表整型数据那么中间的M应该是代表多少位了,后来查mysql手册也得知了我的理解是正确的,下面我来举例说明.   MySQL 数据类型中的 integer types ...

  4. mysql数据库 --数据类型、约束条件

    今日内容 表的详细使用 1.创建表的完成语法 2.字段类型 整型.浮点型.字符类型.日期类型.枚举与集合类型 3.约束条件 primary key.unique.not null.default 一. ...

  5. mysql数据库 数据类型

    char(m) 固定长度字符串,m<=255:处理速度快: varchar(m) 可变长度字符串,m<=255: int(m) 整数型,-214783647到214783648之间,使用u ...

  6. MySQL数据库之数据类型BOOL/BOOLEAN与TINYINT测试总结

    From: http://database.51cto.com/art/201203/323863.htm 网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关 ...

  7. MySQL数据库笔记二:数据类型及数据库操作

    三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...

  8. MySQL数据库具体一些操作

    创建数据库:CREATE DATABASE 数据库名;删除数据库:drop database <数据库名>;选择使用(需要操作的数据库):use 数据库名称;mysql数据库数据类型:类型 ...

  9. MySQL数据库3 - MySQL常用数据类型

    一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的       ---> 数 ...

随机推荐

  1. 动态链接库(Dynamic Link Library)学习笔记(附PE文件分析)

    转载:http://www.cnblogs.com/yxin1322/archive/2008/03/08/donamiclinklibrary.html 作者:EricYou 转载请注明出处   注 ...

  2. 为什么Python中“2==2>1”结果为True

    在Python中,你可能会发现这样一个奇怪的现象: >>> 2 == 2 > 1 True >>> (2 == 2) > 1 False >> ...

  3. comboBox控件动态绑定数据

    /// <summary>        /// load加载数据        /// </summary>        /// <param name=" ...

  4. 分享Nginx在Windows下的管理命令(bat文件)

    话不多说,复制下面的内容,存成bat文件,放到nginx目录下. ====================================================@echo offrem 当前 ...

  5. 升级vue全家桶过程记录

    背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...

  6. Spring Cloud Stream整合RabbitMQ

    简介 Spring Cloud Stream是一个构建消息驱动微服务的框架,应用程序通过input(相当于consumer).output(相当于producer)来与Spring Cloud Str ...

  7. 写在Logg SAP项目上线之际

    根据大环境大行业的惯用做法,公司建立Logg品牌是在意料之中.毫无意外的,Logg也要上到SAP系统中. 其实按它的业务模式来说上SAP系统并不困难,早在几年前就已经有做过了.无非就是接单不生产,外包 ...

  8. Spark —— 高可用集群搭建

    一.集群规划 这里搭建一个3节点的Spark集群,其中三台主机上均部署Worker服务.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002和hadoop00 ...

  9. spring 5.x 系列第4篇 —— spring AOP (代码配置方式)

    文章目录 一.说明 1.1 项目结构说明 1.2 依赖说明 二.spring aop 2.1 创建待切入接口及其实现类 2.2 创建自定义切面类 2.3 配置切面 2.4 测试切面 2.5 切面执行顺 ...

  10. H5离线缓存基础系列

    1.什么是离线缓存 离线缓存:离线缓存可以将站点的一些文件缓存到本地,它是浏览器自己的一种机制,将需要的文件缓存下来,以便后期即使没有连接网络,被缓存的页面也可以展示. 2.离线缓存的优势 在没有网络 ...