首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据类型选择

首先数据选择有几个简单原则: 更小通常更好。一般情况下,应该尽量使用可以正确存储数据最小数据类型。例如只需要存 0~200,tinyint unsigned 更好。...更小数据类型通常更快,因为它们占用更少磁盘、内存和 CPU 缓存,并且处理时需要 CPU 周期也更少。 简单就好。简单数据类型操作通常需要更少 CPU 周期。...主键自增 id 适合设置为 unsigned 属性 int 类型。...(准确来说是 MySQL 4.1 以后版本 varchar 不会删除存储数据末尾空格) blob 和 text 类型 blob 和 text 都是为了存储很大数据而设计字符串数据类型,分别采用二进制和字符方式存储...枚举(enum)类型 MySQL 在内部会将每个值在列表中位置保存为整数,并且在 .frm 文件中保存 “数字-字符串” 映射关系 “查找”。

5.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL设置临时大小

临时是执行sql语句过程中创建中间过渡,例如多表联合操作,就需要建立临时 查看临时使用状态 mysql>show global status like 'created_tmp%'; created_tmp_tables...每次创建临时时都会增加 created_tmp_disk_tables 如果是在磁盘上创建临时,它会增加 created_tmp_files 表示MySQL服务创建临时文件数 比较理想配置是:...created_tmp_disk_tables / created_tmp_tables *100% <= 25% 再看一下临时配置: show variables like '%tmp_table_size...%'; tmp_table_size默认值是32M,说明只有32M以下临时才能全部放在内存中,超过就会用到硬盘临时 可以适当增加此变量值,例如 mysql> set session tmp_table_size...=40000000; 因为tmp_table_size变量是有作用域,所以使用 'session'

7.3K70

MySQL】DDL结构数据类型盘点&案例演示

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎!...longtext 0-4294967295 bytes 极大文本数据 三.日期类型 单独年月日十分 混合年月日时分秒 timestanp注意事项:时间戳只能到2038年 date / time...timestanp 4 byte 1970-01-01 00:00:01 至 2038 -01-1903:14:07 YYYY-MM-DD HH:MM:SS 混合日期和时间值,时间戳 四.根据需求创建(...设计合理数据类型、长度) 设计一张员工信息,要求如下: 编号(纯数字) 员工工号(字符串类型,长度不超过10位) 员工姓名(字符串类型,长度不超过10位) 性别(男/女,存储一个汉字) 年龄(正常人年龄...unsigned comment '年龄', idcard char(18) comment‘身份证号’, entrydate date comment ‘入职时间’ )comment '员工'

10110

数据类型

一 介绍 存储引擎决定了类型,而内存放数据也要有不同类型,每种数据类型都有自己宽度,但宽度是可选 详细参考: http://www.runoob.com/mysql/mysql-data-types.html...http://dev.mysql.com/doc/refman/5.7/en/data-type-overview.html mysql数据类型概览 #1....2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示值也依赖于时区。在mysql服务器,操作系统以及客户端连接都有时区设置。...有一种情况例外,那就是显式地将 SQL_MODE 设置为 PAD_CHAR_TO_ FULL_LENGTH,例如: mysql> CREATE TABLE t ( a CHAR(10));...CHAR 值存在右填充,即使将 SQL _MODE 设置为 PAD_CHAR_TO_FULL_ LENGTH 也一样,例如: mysql> CREATE TABLE t ( a CHAR(10),

4.5K70

Java数据类型MySql数据类型对应

MySQL数据类型对应Java数据类型 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String...对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发项目中,表示0/1,对应java类型Integer较好。...Java数据类型MySql数据类型对应 - 草原和大树 - 博客园 Mybatis数据类型对应数据库和Java数据类型 Mybatis JdbcType Oracle MySql JdbcType...中部分没有对应到Oracle和Mysql数据类型中(或许由于自己遗漏),不过不用担心,后续大家碰到再具体分析;同时上述对应关系不一定是一一对应,请大家了解。...MyBatis 常用类型 Oracle数据类型对应Java数据类型 SQL数据类型 JDBC类型代码 标准Java类型 Oracle扩展Java类型 1.0标准JDBC类型: CHAR java.sql.Types.CHAR

3.3K10

MySQL创建数据MySQL数据类型

数据需要以下信息: 名 表字段名 定义每个表字段 语法 以下为创建MySQL数据SQL通用语法: CREATE TABLE table_name (column_name column_type...* ENGINE 设置存储引擎,CHARSET 设置编码。 通过命令提示符创建 通过 mysql> 命令窗口可以很简单创建MySQL数据。...MySQL 数据类型 MySQL中定义数据字段类型对你数据库优化是非常重要MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...数值类型 MySQL支持所有标准SQL数值数据类型。...关键字INT是INTEGER同义词,关键字DEC是DECIMAL同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB

5.9K71

MySqlMySql数据类型

tinyint类型 用tinyint数据类型创建t1: mysql> create table if not exists t1( -> num tinyint -> ); 插入tinyint...of range value for column 'num' at row 1 mysql> 用tinyint unsigned数据类型创建t2: mysql> create table if not...反过来,我们如果已经有数据被插入到MySql中了,一定是插入时候是合法 所以MySql中一般而言,数据类型本身也是一种约束,约束程序员尽可能进行正确插入,约束使用者,如果你不是一个很好使用者,...bit数据类型t3: mysql> create table if not exists t3( -> id int, -> online bit(1) -> ); Query...OK, 0 rows affected (0.03 sec) mysqlfloat浮点数精度为是7,如果我们设置为8会不会起效果呢: mysql> insert into t7 (f1,f2) values

24230

【Java 基础】Java 数据类型MySql 数据类型对应

MySQL 数据类型对应 Java 数据类型 类型名称 显示长度 数据库类型 JAVA 类型 JDBC 类型索引 (int) 描述 VARCHAR L+N VARCHAR...对于 boolen 类型,在 mysql 数据库中,个人认为用 int 类型代替较好,对 bit 操作不是很方便,尤其是在具有 web 页面开发项目中,表示 0/1,对应 java 类型 Integer...Java 数据类型MySql 数据类型对应 - 草原和大树 - 博客园 Mybatis 数据类型对应数据库和 Java 数据类型 Mybatis JdbcType Oracle...JdbcType 中部分没有对应到 Oracle 和 Mysql 数据类型中 (或许由于自己遗漏),不过不用担心,后续大家碰到再具体分析;同时上述对应关系不一定是一一对应,请大家了解。...MyBatis 常用类型 Oracle 数据类型对应 Java 数据类型 SQL 数据类型 JDBC 类型代码 标准 Java 类型 Oracle 扩展 Java 类型 1.0 标准

2.1K31

MySql约束

概述 真正约束字段数据类型,但是数据类型约束很单一,需要有一些额外约束,更好保证数据合法性,从业务逻辑角度保证数据正确性。比如有一个字段是email,要求是唯一。...into t13(name) values ('李四'); deault:如果设置了,用户将来插入,有具体数据就用,没有就默认 如果我们没有明确指定一列要插入,用是default,如果建中,对应列默认没有设置...当用户想插入时候,无非就是NULL或者合法数据,当用户忽略这一列时候,使用默认值(前提是设置了默认值),如果没有设置,直接报错。...对于自增长:默认是从1开始插入,如果默认插入了一个值作为起始值,则从这个起始值加1开始 所以我们在创建时候可以给自增长设置一个起始值: mysql> create table t22( -...所以我们需要新建一个从student并设置外键: mysql> create table if not exists student( -> id int unsigned primary key

18930

MYSQL约束

前言 真正约束字段数据类型,但是数据类型约束很单一,需要有一些额外约束,更好保证数据合法性,从业务逻辑角度保证数据正确性。比如有一个字段是email,要求是唯一。...table test1( id int not null, name varchar(5) not null ); 我们每列参数之后设置了not null之后,我们插入数据时就不能插入空数据了...create table stu(     -> id int primary key comment '学号',     -> name varchar(5)     -> ); 我们将id设置为主键...索引: 在关系数据库中,索引是一种单独、物理对数据库中一列或多列值进行排序一种存储结 构,它是某个中一列或若干列值集合和相应指向中物理标识这些值数据页逻辑指针清单。...这样可以使对应于SQL语句执行得更快,可快速访问数据库特定信息 七、唯一键 一张中有往往有很多字段需要唯一性,数据不能重复,但是一张中只能有一个主键:唯一键就可以解决中有多个字段需要唯一性约束问题

23040

MySQL约束

反过来,在 mysql 角度,凡是插入进来数据,都是符合数据约束!约束最终目的就是保证数据完整性和可预期性。因此我们需要更多约束条件!...真正约束字段数据类型,但是数据类型约束很单一,需要有一些额外约束,更好保证数据合法性,从业务逻辑角度保证数据正确性。比如有一个字段是 email,要求是唯一。...当用户忽略了这一列时候,如果设置了 default,就是用默认值,如果没有设置,就直接报错,因为有 not null 约束。...值由原来 1 变成 00001,这就是 zerofill 属性作用,如果宽度小于设定宽度(这里设置是 5),自动填充 0;要注意是,这只是最后显示结果,在 MySQL 中实际存储还是1...建立外键本质其实就是把相关性交给 mysql 去审核了,提前告诉 mysql 之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql 不允许你插入。

13410

MySQL约束

一.约束概念 真正约束字段数据类型,但是数据类型约束很单一,需要有一些额外约束,更好保证数据合法性,从业务逻辑角度保证数据正确性。...约束本质: 通过技术手段倒逼程序员插入正确数据。反过来站在mysql视角,凡是插入进来数据,都是符合数据约束。 约束最终目标: 保证数据完整性和可预期性。 为什么数据库这么严格?...二.非空约束 1.NULL与’ '比较 在MySQL数据类型已经说过,这二者是不同,NULL代表什么都没有,而' '代表一个空串。 在select语句中,NULL不会参与到相应计算操作中。...对于我们所创建,会发现在一个整形数据类型中带有括号字段。...因此,在建时,我们也可以手动设置这个值: 通过last_insert_id函数,可以获取上一次AUTO_INCREMENT值: select last_insert_id(); 七.唯一键 唯一键

20250

MySQL数据类型_请列举MySQL中常见数据类型

大家好,又见面了,我是你们朋友全栈君。   我在网上也搜过很多,就是想知道在数据库中建表语句字段类型对应Java实体类中属性类型是什么。   ...结果网上一套一套说法不一,完全不一致,有没有一致点,不会错!看我,你就有。   ...integerUnsigned; private Date time; private String tinytext; private Date year; private String enumType; } 我给大家列出来了...MySQL数据类型 Java实体类属性类型 说明 int Integer 不管是signed还是unsigned,Java实体类型都是Integer bigint Long 不管是bigint(xxx)...后续设计规范内容: 1.从8.0.17版本开始,TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT类型显示宽度将失效。

1.9K30

MySQL | 不同数据类型

数据定义语言:数据类型 数据类型:数字 类型 大小 说明 TINYINT 1字节 ^1 小整数 SMALLINT 2字节 普通整数 MEDIUMINT 3字节 普通整数 INT 4字节 较大整数 BIGINT...8字节 大整数 FLOAT 4字节 单精度浮点数 DOUBLE 8字节 双精度浮点数 DECIMAL ——– DECIMAL(10, 2) 1^ : (-2^7 --- +2^7-1) 不精确浮点数...十进制浮点数无法在计算机中用二进制精确表达 CREATE TABLE temp( id INT UNSIGNED PRIMARY KEY, num FLOAT(20,10) ) 0.2 ---...temp CREATE TABLE temp( id INT UNSIGNED PRIMARY KEY, num DECIMAL(20,10) ) 0.2 ----> 0.2000000000 数据类型...不固定长度字符串 TEXT 1 - 65535 字符 不确定长度字符串 MEDIUMTEXT 1 - 1 千 6 百万字符 不确定长度字符串 LONGTEXT 1 - 42 亿字符 不确定长度字符串 数据类型

1.5K20

MySQL之间关系

之间关系 1 foreign key 2 则1多条记录对应2一条记录,即多对一 利用foreign key原理我们可以制作两张多对多,一对一关系 多对多: 1多条记录可以对应...2一条记录 2多条记录也可以对应1一条记录 一对一: 1一条记录唯一对应2一条记录,反之亦然 分析时,我们先从按照上面的基本原理去套,然后再翻译成真实意义,就很好理解了...1、先确定关系 2、找到多一方,把关联字段写在多一方 一对多  多对一或者一对多(左边多条记录对应右边唯一一条记录)  需要注意: 1.先建被关联,保证被关联字段必须唯一。...图片 创建 书要关联出版社 被关联 create table press(id int primary key auto_increment, name char(20)); 关联 create...用来存book和author两张关系) 要把book_id和author_id设置成联合唯一 联合唯一:unique(book_id,author_id)  联合主键:alter table t1

3.5K10
领券