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. 使用MinGW编译Boost,MSVC编译Boost的几种链接方式 good

    1.下载Boost(http://www.boost.org) 我目前用的是1.61.0版本 2.将MinGW下的bin目录完整路径设置到系统环境变量Path中,保证cmd命令行能找到gcc,g++等 ...

  2. 所有W版本的函数都在wchar.h文件(_wfopen),和stdlib.h文件(wcstombs),和stdio.h文件(vwprintf)

    C:\Qt\Qt5.6.2\Tools\mingw492_32\i686-w64-mingw32\include\wchar.h C:\Qt\Qt5.6.2\Tools\mingw492_32\i68 ...

  3. c# RedisHelper

    使用redis组件如下,至于为什么使用3.9版本,是因为4.0开始商业了,限制了次数 ServiceStack.Common" version="3.9.70"Servi ...

  4. 最短JS判断IE6/IE7/IE8系列的写法

    常用的 var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest; var isIE8=isIE& ...

  5. 在windows下的QT编程中的char*,wchar_t*与QString之间的转换(利用reinterpret_cast和_stprintf函数,fromWCharArray从字符数组里读取数据)

    http://blog.csdn.net/yangxiao_0203/article/details/7422660 转自http://hi.baidu.com/zj41342626/blog/ite ...

  6. KM算法 详解+模板

    先说KM算法求二分图的最佳匹配思想,再详讲KM的实现.[KM算法求二分图的最佳匹配思想] 对于具有二部划分( V1, V2 )的加权完全二分图,其中 V1= { x1, x2, x3, ... , x ...

  7. Spring Boot:整合Spring Data JPA

    综合概述 JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范.其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种 ...

  8. net开发框架never

    [一] 摘要 never是纯c#语言开发的一个框架,同时可在netcore下运行. 该框架github地址:https://github.com/shelldudu/never 同时,配合never_ ...

  9. 微服务之服务注册与发现--Consul(转载)

    http://blog.csdn.net/buxiaoxia/article/details/69788114 https://www.cnblogs.com/xiaohanlin/p/8016803 ...

  10. Apicloud 接入海康摄像头

    1准备工作 , 加载apicloud 海康视频模块. 引入 SDK 重新生成项目测试 再config.xml写入appid 话不多说直接上代码 video=api.require("haik ...