iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >什么是MySQL的数据类型
  • 908
分享到

什么是MySQL的数据类型

2024-04-02 19:04:59 908人浏览 薄情痞子
摘要

不知道大家之前对类似什么是Mysql的数据类型的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完什么是mysql的数据类型你一定会有所收获的。一、概述:Mysql数据

不知道大家之前对类似什么是Mysql的数据类型的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完什么是mysql的数据类型你一定会有所收获的。

一、概述:

Mysql数据库中的数据大致可以分为以下几类,从而实现数据库在操作的时候对不同类型的处理。对数据库分类的优点主要有以下几种:

1、使系统能够根据数据类型来操作数据

2、预防数据运算的时候出错

通过分类,可以将每个类型不特定的行为联系在一起执行这些行为时,数据分类将有效避免不同类型数据之间的错误,做场见的是字符串数字相加。

3、更见有效的利用空间。

4、定义数据类型实际是定义表中的列

二、数据库类型的分类

数据库的分类可以分为数值类型,字符型,日期型、文本型TEXT及复合型。

2.1 数值型

2.1.1 整型

tinyint(-127~128之间的整数)

smallint(短整型:(-32768~32767)数值占用2字节, 用带符号的二进制整数形式存储)

mediumint

auto_increment(自增长类型)

row num

int (整型默认为11个字节)

bigint(大整型)

Population

举例:

创建表包含以上类型,且每个字段中均输入99999999数值,并查看

mysql> insert into mydata values(99999999,999999999,99999999,999999999,999999999);
ERROR 1264 (22003): Out of range value for column 'id1' at row 1
提示id1,报错
mysql> select * from mydata;
+------+--------+--------+-----------+-----------+
| id1  | id2    | id3    | id4       | id5       |
+------+--------+--------+-----------+-----------+
|  127 | -32768 |  65535 | 999999999 | 999999999 |
|  127 | -32768 | 655356 | 999999999 | 999999999 |
+------+--------+--------+-----------+-----------+

在MySQL5.5及以上版本之后各个字段类型数字超出长度限制则均不能创建成功;

mysql> insert into mydata(id1) values('NIHAO');
ERROR 1366 (HY000): Incorrect integer value: 'NIHAO' for column 'id1' at row 1

类型不同的数据也限制执行插入操作

类型直接均可使用int(n)这里的n则是对整型数据的长度进行限制,n的最大值为255

2.2 整型修饰符:

unsigned 无符号整数,修饰符:规定字段只能保存正的数据。其可以增大这个字段正整数的支持范围。

zerofill 规定0填充(默认是空格)填补输出的值,使用这个值可以防止MySQL存储负值。

例如:超时会员卡编号

No 0000000000000001
mysql> create table mydata2(id int(10) unsigned zerofill);
Query OK, 0 rows affected (0.14 sec)
mysql> insert into mydata2 values(1);
Query OK, 1 row affected (0.01 sec)
mysql> select * from mydata2;
+------------+
| id         |
+------------+
| 0000000001 |
+------------+
1 row in set (0.00 sec)
mysql>


2.2 浮点型数值

float(单精度),double(双精度),decimal(精度确定)

float和dobule是浮点数,数值越大与不精确

Decimal是定点数,常用来存储财务工资方面,具备高精度

float(5,2):表示字段有限长度是5位,其中整数部分为3位,小数部分为2位,小数点超出部分则执行四舍五入,其占用4个字节

double:8个字节村粗

decimal:用来存储精度的小数,消耗空间,运算较慢。可以使用bigint替代。

8762435.543 mm=x*1000 = 8762435543
select mm/1000 from tb_name;
mysql> create table mydata3(tb float(4,1),td double(5,2),tc decimal(5,2));
Query OK, 0 rows affected (0.09 sec)
mysql> insert into mydata3 values(45.6789,45.6789,45.6789);
Query OK, 1 row affected, 1 warning (0.08 sec)
mysql> select * from mydata3;
+------+-------+-------+
| tb   | td    | tc    |
+------+-------+-------+
| 45.7 | 45.68 | 45.68 |
+------+-------+-------+
1 row in set (0.00 sec)
mysql>

三、字符串类型

3.1字符串类型比较

char(n)

n:存储固定长度,在括号中自定长度其最大值为255;

varchar(n)

n:存储变长,在括号内指定最大长度其最大值为255,如果大于255则需要使用TEXT类型

TEXT

TEXT类型存放最大长度为65535个字符串。


3.2 三种类型优缺点:

char较varchar占用空间,但效率高

char:固定长度,插入数据必须小于指定的长度否则自动截断(适用于mysql版本低于5.5的版本,大等于该版本的将不能插入数据)。

varchar:长度动态,会导致数据迁移增加IO压力


字符串类型修饰符:

binary:区分字符大小写。

举例:

mysql> create table mychar1(ca char(10),va varchar(10));
mysql> insert into mychar1 values('1234567890111','1234567890111');
ERROR 1406 (22001): Data too long for column 'ca' at row 1
字符过长无法插入报错

不同存储引擎使用不同用法:

MyISAM表:建议使用char类型

InnoDB表:由于其数据内部存储格式对固定长度的数据行和可变长度的数据行不加区分,素有使用varchar可以减少磁盘空间用量和尖山磁盘I/O。


TEXT类型:

TEXT类型及其子类型用于存储比较长的非二进制字符串:

TEXT不区分大小写

四、复合类型

ENUM:枚举类型,只能取一个

SET:set类型可以取多个


例子:

Query OK, 1 row affected (0.00 sec)
mysql> create table mychar(sex enum('M','W'));
Query OK, 0 rows affected (0.11 sec)
mysql> insert into mychar values('M');
Query OK, 1 row affected (0.01 sec)
mysql> create table mychar2(type set('a','b','c','d'));
Query OK, 0 rows affected (0.14 sec)
mysql> insert into mychar2 values('a,b,d');
mysql> select * from mychar2;
+-------+
| type  |
+-------+
| a,b,d |
+-------+

说明:enmu:最多有65535个元素,从1开始索引为0,表示错误值或nouu,


五、时间日期型:

5.1 date类型

格式:YYYY-MM-DD

支持范围:1000-01-01到9999-12-31

mysql> create table mydate(dd date);

Query OK, 0 rows affected (0.06 sec)

mysql> insert into mydate values('2017-09-10'),(20180910);

5.2 time类型

mysql> create table mydate1(tt time);
Query OK, 0 rows affected (0.15 sec)
mysql> insert into mydate1 values('100101');
Query OK, 1 row affected (0.01 sec)
mysql> select * from mydate1;
+----------+
| tt       |
+----------+
| 10:01:01 |
+----------+
1 row in set (0.00 sec)


5.3 year类型

00-69:转为2000-2069 70-79转为:1970-1999

1970Unix诞生记为计算机元年

例子:

mysql> create table mydate2(yy year);
Query OK, 0 rows affected (0.14 sec)
mysql> insert into mydate2 values('2015'),(01),(9),(69),(2080);
Query OK, 5 rows affected (0.08 sec)
Records: 5  Duplicates: 0  Warnings: 0
mysql> select * from mydate2;
+------+
| yy   |
+------+
| 2015 |
| 2001 |
| 2009 |
| 2069 |
| 2080 |
+------+
5 rows in set (0.00 sec)

5.4 datetime类型和time stamp类型

datetime类型timestamp类型

datetime类型能保存大范围的值,从1001年到9999年,精度为秒,它把日期和时间封装到格式为YYYY-MM-DD HH:MM:SS的整数中,与时区无关,使用8个字节的存储空间

timestamp类型保存了从1970年1月1日午夜(格林尼治时间) 以来的秒数

它和linux时间戳相同,timestamp只使用了4个字节的存储空间,因此它的范围比datetime小的多,只能表示从1970-2038,通常我们还是用它的,提高空间利用率

举例:

mysql> create table mydate3(dt datetime);
Query OK, 0 rows affected (0.21 sec)
mysql> insert into mydate3 values('11111111111111')
    -> ;
Query OK, 1 row affected (0.00 sec)
mysql> select * from mydate3;
+---------------------+
| dt                  |
+---------------------+
| 1111-11-11 11:11:11 |
+---------------------+
1 row in set (0.00 sec)
插入当前时间
mysql> insert into mydate4 values(now());
Query OK, 1 row affected (0.01 sec)

看完什么是MySQL的数据类型这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的数据库板块。

您可能感兴趣的文档:

--结束END--

本文标题: 什么是MySQL的数据类型

本文链接: https://www.lsjlt.com/news/35475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql数据库的类型是什么
    本篇内容介绍了“mysql数据库的类型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • mysql是什么类型的数据库
    小编给大家分享一下mysql是什么类型的数据库,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql是什么类型的数据库MySQL是一种关系型数据库管理系统,使用sql语言对数据库进行管理的。...
    99+
    2024-04-02
  • mysql是什么类型的数据库?
    mysql是一种开源、跨平台的关系型数据库管理系统,以其速度、可靠性、易用性、高性能、可扩展性和兼容性而著称。它广泛应用于web开发、数据仓库、电子商务、金融服务、医疗保健等领域。 M...
    99+
    2024-04-14
    mysql linux macos
  • mysql数据库是什么类型
    mysql 是一款开源、跨平台的关系型数据库管理系统 (rdbms)。它提供以下主要特性:开源:免费供任何人使用和修改。跨平台:可在各种操作系统上运行。高性能:快速处理大量数据。可靠性:...
    99+
    2024-04-14
    mysql linux macos 移动应用程序
  • mysql是什么类型数据库
    mysql 是一款关系型数据库管理系统 (rdbms),它以开源、跨平台、高性能和广泛使用而著称。 MySQL 是一款什么类型的数据库? MySQL 是一款关系型数据库管理系统 (RD...
    99+
    2024-04-02
  • mysql bit数据类型指的是什么
    这篇文章主要介绍“mysql bit数据类型指的是什么”,在日常操作中,相信很多人在mysql bit数据类型指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysq...
    99+
    2023-04-14
    mysql
  • mysql中decimal是什么数据类型
    decimal 是 mysql 中用于存储定点小数的高精度数据类型。其特点包括:精度(由 (m, d) 指定)、范围、精度不丢失、存储空间。它常用于需要高精度货币计算的场景,如银行系统、...
    99+
    2024-04-26
    mysql
  • MySQL数据类型有什么
    本篇内容介绍了“MySQL数据类型有什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、数值类型1.1、数值类型分类严格数值类型(INTE...
    99+
    2023-06-25
  • mysql整数类型是什么
    这篇文章主要介绍“mysql整数类型是什么”,在日常操作中,相信很多人在mysql整数类型是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql整数类型是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-20
  • mysql中整数数据类型tinyint的作用是什么
    在MySQL中,整数数据类型tinyint用于存储非常小的整数值。它占用1个字节(8位),可以存储范围为-128到127的整数值。t...
    99+
    2023-08-15
    mysql tinyint
  • 什么是VBScript数据类型
    本篇内容主要讲解“什么是VBScript数据类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是VBScript数据类型”吧!VBScript 数据类型VBScript 只有一种数据类型,称...
    99+
    2023-06-08
  • MySQL 中一位最小的数据类型是什么?
    一位的最小数据类型可以是bit(1)。语法如下 -yourColumnName bit(1)为了理解上述语法,让我们创建一个表。创建表的查询如下 -mysql> create table bitDemo -> ( -...
    99+
    2023-10-22
  • MySQL中的数据类型和schema优化是什么
    小编给大家分享一下MySQL中的数据类型和schema优化是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1. 选择优化的数据类型MySQL支持的数据类型有很多,而如何选择出正确的数据类型...
    99+
    2024-04-02
  • MySQL数据库中ENUM类型的作用是什么
    本篇文章给大家分享的是有关MySQL数据库中ENUM类型的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  MySQL数据库中ENU...
    99+
    2024-04-02
  • 什么是MySQL它是什么类型的数据库管理系统
    MySQL是一种开源的关系型数据库管理系统,它是一种轻量级且快速的数据库系统,广泛应用于Web应用程序开发中。MySQL支持多种操作...
    99+
    2024-03-06
    MySQL
  • mysql中有什么数据类型
    这篇文章将为大家详细讲解有关mysql中有什么数据类型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型...
    99+
    2024-04-02
  • mysql大数据用什么类型
    mysql大数据用整数类型、字符串类型、浮点型、日期和时间类型、尔类型、二进制类型和枚举类型等。1、整数类型,整数类型包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT等;2、字符串类型,广泛用于存储大量的字符串...
    99+
    2023-08-08
  • MySQL支持什么数据类型
    这篇文章给大家分享的是有关MySQL支持什么数据类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非...
    99+
    2024-04-02
  • mongodb是什么类型的数据库
    mongodb是一个分布式文件存储的数据库,属于一个介于关系数据库和非关系数据库之间的产品,因为它的非关系数据库功能更加丰富,所以它也是属于NoSql数据库的一种,使用mongodb能够解决存储数据类型比较复杂的问题。具体内容如下:Mong...
    99+
    2024-04-02
  • redis数据库是什么类型的
    小编给大家分享一下redis数据库是什么类型的,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Va...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作