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

MySQL字段类型_mysql数据库字段类型

大家好,又见面了,我是你们朋友全栈君。 前言: 要了解一个数据库,我们必须了解其支持数据类型。MySQL 支持大量字段类型,其中常用也有很多。...浮点型主要有 float,double 两个,浮点型在数据库中存放是近似值,例如float(6,3),如果插入一个数123.45678,实际数据库里存是123.457,但总个数还以实际为准,即6位,...DECIMAL 从 MySQL 5.1 引入,列声明语法是 DECIMAL(M,D) 。...3.日期时间类型 MySQL支持日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适类型即可...总结: 本篇文章主要介绍了 MySQL 中常用字段类型,平时用到字段类型基本都在这里了,以一张思维导图总结如下: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

19.3K10

MYSQL数据库设计字段选择原则

今天给大家介绍一下数据库设计过程中字段选择原则,也就是什么时候用int、什么时候用varchar、什么时候用char等等之类。...如果想要全面的了解的话,大家可以去看高性能MYSQL这一本书籍,里面有一章节介绍特别全面,基本涉及MYSQL中全部字段介绍。...在数据库设计过程中我们要本着够用原则,如果一味把数据字段范围设为最大或者默认值的话,会导致存储空间大量浪费。...在数据量特别大情况下,这样设计原理将会使数据库空间造成严重浪费,也会对数据库执行效率造成很大影响。所以我们在做数据库设计时候要谨慎再谨慎、小心再小心。...2.数据库设计过程中尽量使用int来作为字段类型,因为在所有的数据类型中int不管是存储空间还是执行速度方面都是最好

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

Mysql字段类型设计相关问题!

Mysql是以文件存储在我们系统硬盘上面,那么 (1)当我们读取写入时候就会有磁盘IO问题 (2)当我们存储数据是以页单位存储,而且每页大小是16K,那么我们要尽可能让我们一页数据存放更多...表结构宽度不要太大,也就是列数不要过多,保存更可能多行数,那么针对行数存储就会涉及到字段类型选择问题 以下字节按照utf8来示例,一个中文占3个字节,一个数字和字母是一个字节,而且utf8是变长...,范围在1-6之间 (1)数字比字符串处理速度要快 (2)当我们需要存储一个固定长度值(身份证,手机号)并且长度小于50个字节时候,那么我们可以选用char(n) (3)当我们要存储大于50个字节长度值时候选用...varchar(n) (4)当我们存储时间时候datatime>int>char>varchar,但是int是有时间范围限制,只能存到2038年 (5)float和decimal选择,当我们需要存储一个精度很高时候...,那么我们就要存decimal,float只能保存到小数点后7位 下面是类型占用字节数

1.7K60

Mysql字段类型设计相关问题!

Mysql是以文件存储在我们系统硬盘上面,那么 (1)当我们读取写入时候就会有磁盘IO问题 (2)当我们存储数据是以页单位存储,而且每页大小是16K,那么我们要尽可能让我们一页数据存放更多...表结构宽度不要太大,也就是列数不要过多,保存更可能多行数,那么针对行数存储就会涉及到字段类型选择问题 以下字节按照utf8来示例,一个中文占3个字节,一个数字和字母是一个字节,而且utf8是变长...,范围在1-6之间 (1)数字比字符串处理速度要快 (2)当我们需要存储一个固定长度值(身份证,手机号)并且长度小于50个字节时候,那么我们可以选用char(n) (3)当我们要存储大于50个字节长度值时候选用...varchar(n) (4)当我们存储时间时候datatime>int>char>varchar,但是int是有时间范围限制,只能存到2038年 (5)float和decimal选择,当我们需要存储一个精度很高时候...,那么我们就要存decimal,float只能保存到小数点后7位 下面是类型占用字节数 2986969-a4376488f15c035c.jpg 2986969-f0077777b32498f5

1.4K80

(Mysql)对数据库设计设计标识字段引用一些思考

今天asong教你们一个mysql优化设计状态标识。...这时我们思考一个问题,数据库是怎么存储这些优惠呢?...根据上面的举例,用户下单时可以同时使用上面4种优惠抵扣方式,也就说用户可能出现组合有2^4 - 1=15种,如果我们表结构设计成单独用一个普通标识字段来标识存储,实现起来是比较简单,但是其需要标识组合种类实在有点多...方案一: 采用另外引入一张关联表方式,专门用一张关联表来存储订单使用优惠组合信息,每使用一种优惠就添加一条关联记录,相比单独使用普通字段标识,这在一定程度上减少了设置标识繁琐性,增加了灵活性(每多使用一种优惠就添加一条关联记录...在互联网场景下,数据量通常是非常大,像订单数据一般都需要进行数据库sharding,以应对数据量暴涨后数据库读写性能瓶颈,增加系统水平扩展能力。

1.4K10

【说站】mysql设计字段原则总结

mysql设计字段原则总结 1、尽量使用整型表示字符串。...存储IP INET_ATON(str),address to number   INET_NTOA(number),number to address 2、定长和非定长数据类型选择。...decimal不会失去精度,存储空间会随着数据增大而增大。double占有固定空间,大量存储会损失精度。不定长有varchar、text。 3、尽量选择小数据类型和指定短长度。...非null字段处理比null字段处理更有效率!无需判断是否为null。 5、字段注释要完整。 6、单表字段不宜过多。 二三十个就了。 7、可以预留字段。 在使用以上原则之前首先要满足业务需求。...以上就是mysql设计字段原则总结,希望对大家有所帮助。更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

33230

MySQL | 数据库字段约束

数据定义语言:字段约束 数据库范式 构造数据库必须遵循一定规则,这种规则就是范式 目前关系数据库有 6 种范式,一般情况下,只满足第三范式即可 第一范式:原子性 第一范式是数据库基本要求,不满足这一点就不是关系数据库...数据表每一列都是不可分割基本数据项,同一列中不能有多个值,也不能存在重复属性。...字段约束 MySQL字段约束共有四种: 约束名称 关键字 描述 主键约束 PRIMARY KEY 字段值唯一,且不能为 NULL 非空约束 NOT NULL 字段值不能为 NULL 唯一约束 UNIQUE...字段值唯一,且可以为 NULL 外键约束 FOREIGN KEY 保持关联数据逻辑性 外键约束是唯一不推荐使用约束 主键约束 主键约束要求字段值在全表必须唯一,而且不能为 NULL 值 建议主键一定要使用数据类型..... ); 非空约束 非空约束要求字段值不能为 NULL 值 NULL 值为没有值,而不是 "" 空字符串 CREATE TABLE t_teacher( id INT PRIMARY KEY

5.6K10

MySQL数据库设计Null与非空字段应用及建议

引言 在数据库设计领域,Null(空值)与非空(NOT NULL)字段合理应用对于构建高效、稳定且易于维护数据库系统至关重要。...本文将深入探讨MySQL数据库Null与非空字段概念,分析它们各自特点、使用场景及设计建议,以帮助软件架构师和系统架构师更好地理解和应用这些概念。...例如,员工入职日期、产品价格等。 设计建议 明确需求:在设计表结构时,首先明确每个字段是否为业务逻辑中必要元素。...测试与验证:在实际应用中,应进行充分测试,以确保Null和非空字段逻辑符合业务预期。 结论 正确地应用Null与非空字段MySQL数据库设计重要方面。...通过明确业务需求并合理地使用这两种字段类型,可以建立更加健壯、有效且易于维护数据库系统。我们作为软件开发或运维人员,应该深入理解这些概念,并在实践中灵活应用。

31420

MySql数据库大表添加字段方法

第一 基础方法 增加字段基本方法,该方法适合十几万数据量,可以直接进行加字段操作。...,重命名新表名字为旧表名字 不过这里需要注意,执行第三步时候,可能这个过程也需要时间,这个时候有新数据进来,所以原来表如果有字段记录了数据写入时间就最好了,可以找到执行这一步操作之后数据,...可以限速、限资源,避免操作时MySQL负载过高 建议: 在业务低峰期做,将影响降到最低 安装 1.去官网下载对应版本,官网下载地址:下载网址 查询mysql版本 根据版本下载对应软件 select...,我们只是要修改个表结构,只需要知道几个简单参数就可以了 –user= 连接mysql用户名 –password= 连接mysql密码 –host= 连接mysql...地址 P=3306 连接mysql端口号 D= 连接mysql库名 t= 连接mysql表名 –alter 修改表结构语句

24.7K44

数据库字段及索引设计规范

字段设计规范 1....而且对于这种数据,MySQL 还是要进行二次查询,会使 sql 性能变得很差,但不是说一定不能使用这样数据类型。...TEXT 或 BLOB 类型只能使用前缀索引 因为 MySQL[1] 对索引字段长度是有限制,所以 TEXT 类型只能使用前缀索引,并且 TEXT 列上是不能有默认值 3....4 个字节可以存储 9 位数字,并且小数点要占用一个字节;可用于存储比 bigint 更大整型数据 索引设计规范 1....因为 MySQL 优化器在选择如何优化查询时,会根据统一信息,对每一个可以用到索引来进行评估,以生成出一个最好执行计划,如果同时有很多个索引都可以用于查询,就会增加 MySQL 优化器生成执行计划时间

1.1K20

MySQL数据库设计

软件项目开发周期中数据库设计 01.需求分析阶段:分析客户业务和数据处理需求 02.概要设计阶段:设计数据库E-R模型图,确认需求信息正确和完整 03.详细设计阶段:应用三大范式审核数据库结构 04...数据库备份 cmd进入命令行 mysqldump -u用户名 -p 数据库名称 >指定文件 数据库恢复 前提是必须要有对应数据库  mysql -u用户名 -p <指定文件 1. mysql...为DOS命令 2.在执行该语句之前,必须在MySQL服务器中创建新数据库,如果不存在恢复数据库过程将会出错 关系型数据库和非关系型数据库  登录mysql   mysql  -h主机地址   -u用户名...第三范式:在满足第二范式基础上,保证表中除主键列外其他列,都直接依赖于主键列,则符合第三范式 设计没有好坏,没有对错之分,所谓仁者见仁智者见智 1.MySQL优势  1.运行速度快,  2.使用成本低...数据文件 3.MySQL -uroot -proot login 默认状态 no database selected 所以切换到一个指定数据库 mysql 使用命令行  看数据库安装路径   和

2.5K110

MySQL数据库设计

目录: 三大范式 ER图 PowerDesigner工具 数据库设计三大范式 范式是符合某种设计要求总结,关系型数据库中有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式...第一范式 每个字段不可再分割,数据库表中每一列都是原子项数据。 如:下面表就不符合第一范式 为什么? 因为address列不具有原子性,还可以分割。...本课学分只依赖于课程编号,不依赖于学号,所以本课学分不满足第二范式, 对上表进行修改,使其符合第二范式,如下面两个表: 1、课程表 2、成绩表 第三范式 满足第二范式基础上消除传递依赖,一个表中非主键字段不能依赖于该表中其他非主键字段...因为性能优先级要高于规范优先级(当性能和规范冲突时以性能为主),特别是电商项目中,为了满足性能要求去违背设计规范。...ER图 矩形:实体或表; 椭圆:表中属性(字段); 菱形:实体和实体之间关系; 如下图(ER图): 数据库中实体和实体之间关系有一对一,一对多关系,多对多关系, 下面详细说明一对一和一对多关系

1.8K30

【经验分享】RESTFul实践以及数据库字段兼容设计字段预留

RESTFul与API设计 RESTFul是一种架构设计风格,它有多个实现层级,最常用领域在于前后端交互时API设计。...比如如下两个接口设计: POST www.baidu.com/login POST www.baidu.com/user-access-token 第一个一看就是登陆接口,而第二个表示增加一个user-acces-token...实际当中,包含动作接口非常多,并不仅仅限于基本增删改查,要求将复杂动作都归结到简单增删改查上面,但是每个人对这些动作理解可能不一样,这就导致最终抽象资源难以理解。...数据库字段兼容设计字段预留 主键ID:如果没有自增逻辑,使用varchar(方便分布式) 时间:使用时间戳 long 价格:使用decimal,保留两位小数。...字段预留:图片、备注、新增时间、修改时间、被谁新增、被谁修改、状态、逻辑删除 mysql时间戳使用 https://www.cnblogs.com/orac/p/6433874.html

76420

数据库日期类型字段设计,应该如何选择?

设计一个产品,其中很多地方要把日期类型保存到数据库中,如果产品有兼容不同数据库产品需求,那么,应当怎样设计呢?...Mysql 数据库:它们分别是 date、datetime、time、timestamp 和 year。...当时产品设计是有海外客户,所以当时设计,在数据库里保存,应该是一个“准确时间”。...在之后设计里,还使用过 YYYYMMDDHHmmSST 格式,其中“T”指时区,加入时区,带来影响有: 日期时间字段就不能在使用数值来存储了,字符串比数字存储和检索效率都要低。...应用程序需要加上额外处理 带来好处是: 便于 DBA 维护 到什么时候,即便没有看到数据库设计文档,都能看明白并准确理解数据库中一条信息中,这个字段保存到确切信息 使用这种方式特点是牺牲一点效率,

1.9K20

Mysql Explain主要字段

当联合主键或唯一索引所有字段跟常量值比较时,join类型为const。其他数据库也叫做唯一索引扫描 3、eq_ref 多表join时,对于来自前面表每一行,在当前表中只能找到一行。...这可能是除了system和const之外最好类型。 当主键或唯一非NULL索引所有字段都被用作join联接时会使用此类型。 eq_r ef可用于使用’='操作符作比较索引列。...比较值可以是常量,也可以是使用在此表之前读取表达式。 相对于下面的ref区别就是它使用唯一索引,即主键或唯一索引,而ref使用是非唯一索引或者普通索引。...要注意,全文索引优先级很高,若全文索引和普通索引同时存在时,mysql不管代价,优先选择使用全文索引 6、ref_or_null 跟ref类型类似,只是增加了null值比较。实际用不多。...Extra 字段显示, 常见有以下几种内容: distinct:在select部分使用了distinc关键字 Using filesort:当 Extra 中有 Using filesort

1.4K20

MySQL修改表字段

MySQL修改表字段 MySQL 修改表字段方法有两种: ALTER TABLE MODIFY COLUMN。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型 [属性]; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型,属性 表示修改后字段属性...0; 需要注意是,如果修改表字段数据类型或长度,可能会造成数据丢失或者修改失败。...因此,在进行字段类型修改时,需要先备份数据,避免出现意外情况。

5.3K10

MySQLjson字段

// MySQLjson字段 // MySQL5.7.8中引入了json字段,这种类型字段使用频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段操作方法...,info是json字段,插入了三条数据,如上: mysql> select * from test1 where json_extract(info,"$.age")>=30; +------+---...其中: 1、$符号代表是json根目录, 2、我们使用$.age相当于取出来了json中age字段, 3、当然,在函数最前面,应该写上字段名字info 下面来看json中常用函数: a、json_valid...判断是否是json字段,如果是,返回1,如果不是,返回0 mysql> select json_valid(2); +---------------+ | json_valid(2) | +------...,如果传入了字符串2,那么,返回结果是1 b、json_keys传回执行json字段最上一层key值 mysql> select json_keys('{"name":"yeyz","score":100

9K20
领券