数据库MySQL/mariadb知识点——数据类型

数据类型

  所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。

  在 SQL 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。

选择正确的数据类型对于获得高性能至关重要,三大原则:

  • 更小的通常更好,尽量使用可正确存储数据的最小数据类型
  • 简单就好,简单数据类型的操作通常需要更少的CPU周期
  • 尽量避免NULL,包含为NULL的列,对MySQL更难优化

1、数值型

  • 精确数值

    • INT

      • TINYINT 微整型 1
      • SMALLINT 小整型 2
      • MEDIUMINT 中整型 3
      • INT 整型 4
      • BIGINT 大整型 8
    • DECIMAL 精确定点型
  • 近似数值
    • FLOAT 单精度浮点型 4
    • DOUBLE 双精度浮点型 8
    • REAL
    • BIT

2、字符型

  • 定长

    • CHAR(不区分大小写)255
    • BINARY(区分大小写)
  • 变长
    • VARCHAR(不区分大小写)65,535
    • VARBINNARY(区分大小写)
  • TEXT(不区分大小写)
    • TINYTEXT 255
    • TEXT 65,535
    • MEDIUMTEXT 16,777,215
    • LONGTEXT 4,294,967,295
  • BLOB(区分大小写)
    • TINYBLOB 微二进制大对象 255
    • BLOB 二进制大对象 64K
    • MEDIUMBLOB 中二进制大对象 16M
    • LONGBLOB 长二进制大对象 4G
  • ENUM 枚举 65535种变化
  • SET 集合 1-64个字符串,可以随意组合

3、日期时间型

  • DATE 3
  • TIME 3
  • DATETIME 8
  • TIMESTAMP 4
  • YEAR{2|4} 1

4、布尔型

  • BOOL,BOOLEAN:布尔型,是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。

详情请参考官方文档:https://dev.mysql.com/doc/refman/5.5/en/data-types.html

原文地址:https://www.cnblogs.com/Gmiaomiao/p/9196197.html

时间: 2024-10-08 07:21:09

数据库MySQL/mariadb知识点——数据类型的相关文章

数据库MySQL/mariadb知识点——查询缓存

查询的执行路径 SQL语句 查询缓存 解析器 解析树 预处理 查找最好的查询路径 查询优化SQL语句 执行计划 API调用存储引擎 调用数据,返回结果 缓存SELECT操作或预处理查询的结果集和SQL语句,当有新的SELECT语句或预处理查询语句请求,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写. 不需要对SQL语句做任何解析和执行,当然语法解析必须通过在先,直接从Query Cache中获得查询结果,提高查询性能 查询缓存的判断规则,不够智能,

数据库MySQL/mariadb知识点——数据库变量

变量 在 MySQL 数据库中,变量有两种,分别为:系统变量和自定义变量. 根据变量的作用范围,又分为: 会话级别变量:仅对当前客户端当次连接有效: 全局级别变量:对所有客户端的任一次连接都有效. 服务器变量还可分为动态变量和非动态变量,动态变量可以在服务器不重启的情况下修改 注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置 服务器选项 # mysqld --h

数据库MySQL/mariadb知识点——操作篇(4)数据操作语句

INSERT插入数据 单挑记录插入 INSERT INTO tb_name (col1,col2,...) VALUES (val1,val2,...); 示例: insert into tablename(字段1名称,字段2名称,......)values(字段1值,字段2值,...) MariaDB [testdb]> INSERT students(id,name,ages,gender) VALUES (1,'tom',26,'M'); MariaDB [testdb]> INSERT

数据库MySQL/mariadb知识点——事务Transactions

案例:银行的数据库里面存储着用户的账户信息表,当用户 A 想用户 B 转账的时候,正常情况下,A 账户的余额减少,B 账户的余额增加:但是由于某种原因(例如突然断电),当 A 账户的余额减少之后,B 账户的余额并没有增加,这就造成了数据库数据的安全隐患. 解决方案:当 A 账户的余额减少之后,不要立即修改数据表,而是在确认 B 账户的余额增加之后,同时修改数据表. 事务Transactions ?通过前面的案例及解决方案,我们就引出了一个全新的概念,那就是:事务,即一系列将要发生或正在发生的连续

数据库MySQL/mariadb知识点——函数

函数 函数,就是将一段代码封装到一个结构中,在需要执行该段代码的时候,直接调用该结构(函数)执行即可.此操作,实现了代码的复用.在 MySQL 中,函数有两种,分别为:系统函数和自定义函数. 1.系统函数 顾名思义,系统函数就是系统定义好的函数,在需要的时候,我们直接调用即可. 任何函数都有返回值(对于空函数,我们就认为其返回值为空),而且在 MySQL 中任何有返回值的操作都是通过select来操作的,因此 MySQL 的函数调用就是通过select来实现的. 参考官方文档:https://d

数据库 -- mysql支持的数据类型

mysql支持的数据类型 数值类型 MySQL支持所有标准SQL数值数据类型. 这些类型包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.REAL和DOUBLE PRECISION). 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词. MySQL支持的整数类型有TINYINT.MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. 对于小数的表示,MYSQL分为两种方式

linux架构学习第二十八天之Mysql/MariaDB数据库入门

内容: 1.数据库简介以及mysql/mariadb背景介绍 2.数据库的一些名词 3.mysql的服务结构 4.mysql客户端的使用 5.数据类型 6.SQL语句介绍 7.mysql的事务机制 一.数据库简介以及mysql/mariadb背景介绍 数据可以存放在多种位置,如普通文件.专门的数据库中,而两者有什么区别,而为什么选择数据库存储?我们知道,假如数据存在普通文件中,当我们要查找其中的一个数据时,要把整个文件加载到内存中,再进行检索,这样速度慢不说,一旦文件较大,直接把内存撑爆了,而数

关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)

数据库管理系统--DBMS:用来管理数据库 数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统--RDBMS: 主要的组成部分是表:表是由行(实例,实体,记录)和列(字段,域)组成: 关系型数据库管理系统的实现: 商业方案:Oracle,Sybase{为微软提供了思路出现SQL-server},Infomix{IBM收购},DB2{IBM} 开源方案:PostgreSQ

MySQL/MariaDB数据库基于SSL实现主从复制

前言 备份数据库是生产环境中的首要任务,有时候不得不通过网络进行数据库的复制,由于MySQL/MariaDB的主从复制是明文传送的,如果在生产环境中跨网络传送,数据的安全性就无法完全保证,为了解决这一问题,我们需要一种安全的方式进行传送,即基于SSL加密进行数据传输. 部署配置 实验拓扑 实验环境 系统环境:CentOS6.6 数据库版本:mariadb-5.5.36 #注意:主从服务器数据库版本须一致:主从服务器时间须同步 #此实验从服务器只做一组为例 配置主从复制 安装mariadb [[e