MYSQL数据库数据类型

07.14自我总结

MYSQL数据库数据类型

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

1.有符号/没符号

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

默认有符号

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

设置成无符号:

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

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

2.严选/非严选

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

方法一:[email protected]@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或不输入,系统会自动输入当前日期和时间

?

?

原文地址:https://www.cnblogs.com/pythonywy/p/11185174.html

时间: 2024-10-14 09:39:05

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

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

nt(M)我们先来拆分,int是代表整型数据那么中间的M应该是代表多少位了,后来查mysql手册也得知了我的理解是正确的,下面我来举例说明. MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小. 后来,参看 MySQL 手册,发现自己理解错了.  代码如下 复

mysql数据库 数据类型

char(m) 固定长度字符串,m<=255:处理速度快: varchar(m) 可变长度字符串,m<=255: int(m) 整数型,-214783647到214783648之间,使用unsigned,则表示0到4294967295: float(m,d)  浮点类型,m,长度位数总和,d,小数点右边数值位数:float(4,2) 88.88有效:100.88.10.4242无效数据: date 日期数据 text/blog 可保存到65535个字符,区别,text不区分大小写,blog对大

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

From: http://database.51cto.com/art/201203/323863.htm 网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 [导读] 网络上很多人咨询mysql是否提供布尔类型?MyS

MySQL数据库具体一些操作

创建数据库:CREATE DATABASE 数据库名;删除数据库:drop database <数据库名>;选择使用(需要操作的数据库):use 数据库名称;mysql数据库数据类型:类型 大小 范围(有符号) 范围(无符号) 用途TINYINT 1 字节 (-128,127) (0,255) 小整数值SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215

Mysql数据库理论基础之三 --- 数据类型及SQL结构化查询语句使用

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

mysql数据库从删库到跑路之mysql数据类型

一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data-types.html http://dev.mysql.com/doc/refman/5.7/en/data-type-overview.html mysql数据类型概览 1 数字(默认都是有符号,宽度指的是显示宽度,与存储无关) tinyint int bigint:个数,年龄,id,qq号,手

MySQL数据库的基本数据类型

整数类型 数值型数据类型主要用来存储数字,包含的类型有: TINYINT.SMALLINT.MEDIUMINT. INT(INTEGER). BIGINT. 下面通过一个例子来查看各种类型的所占有的数据空间,注意,我使用的版本是mysql5.6.28,可以通过下面的命令来查看: 创建表tmp1,其中字段x.y.z.m.n数据类型依次为TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT,SQL语句如下: CREATE TABLE tmp1 ( x TINYINT, y SM

MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于excel),用来存放多行内容/多条记录 5. 记录:事物一系列典型的特征 6. 数据:描述事物特征的符号 MySQL数据库就是一个套接字软件,用来管理其他机器上的数据文件 MySQL介绍: MySQL是一个关系型数据库管理系统:就是一个基于socket编写的C/S架构胡软件 客户端软件 mysql

百万年薪python之路 -- MySQL数据库之 常用数据类型

MySQL常用数据类型 一. 常用数据类型概览 # 1. 数字: 整型: tinyint int bigint 小数: float: 在位数比较短的情况下不精确 double: 在位数比较长的情况下不精确 0.000001230123123123 存成: 0.000001230000 decimal: (如果用小数,则推荐使用decimal) 精准 内部原理是以字符串形式去存 # 2. 字符串: char(10): 简单粗暴,浪费空间,存取速度快. root存成root000000 varcha