iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据类型(精)
  • 932
分享到

MySQL数据类型(精)

MySQL数据类型(精) 2021-02-11 16:02:22 932人浏览 才女
摘要

数据类型(精) Mysql中的数据类型 整型类型 类型介绍 可选属性 M 显示宽度不会影响类型的实际宽度 设置字段f1,f2,f3 f1 INT, f2 INT(5), f3 INT(5) ZEROFILL#不足宽度时,会自动

MySQL数据类型(精)

数据类型(精)

Mysql中的数据类型

整型类型

类型介绍

可选属性

M

  • 显示宽度不会影响类型的实际宽度
设置字段f1,f2,f3
f1 INT,
f2 INT(5),
f3 INT(5) ZEROFILL#不足宽度时,会自动补0;并且自动变成UNSIGNED


添加数据
INSERT INTO 表名(f1,f2,f3)
VALUES(123,123,123)(123456,123456,123456);

结果不会报错
#但是在显示f3时,123前面会补出两0

UNSIGNED

如果确定没有负数,则最好使用无符号数

ZEROFILL

适用场景

如何选择

要兼容存储空间和可靠性

最好用大的存储(考虑扩容等)

浮点类型

类型介绍

数据精度说明

DOUBLE(M,D)(非标准语法)

  1. M:精度:整数位+小数位(D,255)
  2. D:标度:小数位(0,30)
  3. 存在四舍五入(只限于小数位超过指定的大小,且大约后的数据不越界)

精度误差

DOUBLE 和 FLOAT 都存在误差

使用浮点型数据时,尽量不要用“=”来判断两数是否相等

定点数类型(最好使用)

最好加上精度和标度

定点数是以字符串类型存储的

默认DECIMAL(10,0)

也会和浮点数一样的四舍五入的规则

定点数和浮点数

  • 定点数:精度要求高,取值范围小
  • 浮点型:取值范围大,可以有小误差

位类型

只能添加0和1(10进制下)

默认以16进制来实现,可以使用函数BIN()(2进制)来改变输出形式;在字段后面加0,则以10进制来实现

日期和时间类型

建议都用‘’来括起来

YEAR类型

  • 以四个字符串或是数字格式来表示:YYYY(推荐)
  • 以两个字符串格式来表示:

insert into test_year(f1)
values("2155"),("69"),("70"),(0),("00");#最好用大写

DATE类型

  • 格式:YYYY-MM-DD(年-月-日)(推荐)

#添加指定时间
INSERT INTO 表(字段)
VALUES ("1999-01-12");
#添加当前时间
INSERT INTO 表(字段)
VALUES (CURRENT()),(CURRENT_DATE()),(NOW());

TiME类型

  • 格式:HH:MM:SS(时:分:秒)

#添加指定时间
INSERT INTO 表(字段)
VALUES ("2 12:13:14"),("12:12"),("45");
#添加当前时间
INSERT INTO 表(字段)
VALUES (CURRENT()),(CURRENT_TIME()),(NOW());

DATETIME类型(占8个字节,使用频率较高)

  • 格式:YYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒)

#添加指定时间
INSERT INTO 表(字段)
VALUES ("2001-01-01 12:12:12");
#添加当前时间
INSERT INTO 表(字段)
VALUES (CURRENT_TIMESTAMP()),(NOW()),(SYSDATE());

TIMESTAMP类型

  • 格式:YYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒)

  • 注意时间的越界

#添加指定时间
INSERT INTO 表(字段)
VALUES ("1998-01-01 12:2:12");
#添加当前时间
INSERT INTO 表(字段)
VALUES (CURRENT_TIMESTAMP()),(NOW()),(SYSDATE());

DATETIME和TIMESTAMP的区别

insert into temp_time values ("2021-9-2 14:45:52","2021-9-2 14:45:52");
insert into temp_time values(now(),now());
#修改时区
SET time_zone = "+9:00";

文本字符串类型

CHAR与VARCHAR类型

  • CHAR:固定长度(M),范围(0,255),M个字节
  • VARCHAR:可变长度(M),范围(0,65535),实际长度+1个字节

CHAR类型

VARCHAR类型(必须写M)

最大范围不可以写65535,而应该写21845

CHAR 与 VARCHAR 的选择

  • CHAR:浪费存储空间,效率高

     1. 适用于存储不大,效率要求高的
     2. 十分平凡的修改column的
     3. MyISAM和MEMORY存储引擎
    
  • VARCHACR:节约存储空间,效率低

  1. 适用于非CHAR的情况
  2. InnoDB存储引擎(主要影响性能的因素时数据行使用的存储总量)

TEXT类型

用来保存文本型字符串,不需要预先定义长度

由于实际长度不确定,mysql不允许TEXT类型的字段做主键(可以采用CHAR(M)或是VARCHAR(M))

频繁使用的表不建议使用TEXT类型,建议单独用一个表

create table tst_text(
t1 TEXT
);
insert into (t1)
values ("hello Word");#记得最好大写

ENUM(枚举)类型

添加时,忽略大小写

可以使用索引来完成调用

null也可以添加(没有限制非空)

create table tst_enum(
e1 enum("春","夏","秋","冬")#添加时从4个里面选*一个*
      #   1    2    3    4
);
insert into (e1)
values ("春"),("冬");#记得最好大写

SET类型

create table tst_set(#记得最好大写
s1 SET("A","B","C")
);
insert into (s1)
values ("A")("A,B");
insert into (s1)
values ("A")("A,B,C,A");#重复的A会过滤掉
insert into (s1)
values ("A")("A,B,C,D");#会报错,应为D不存在

二进制字符串类型

BINARY与VARBINARY类型

与CHAR 和 VARCHAR 的区别类似

binary 一旦确定了长度,就不会改变

create table tst_binary(#记得最好大写
f1 binary,#默认是1
f2 binary(3),
f3 varbinary,#默认是1
f4 varbinary(10)
);
insert into (f1,f2)
values ("a","abc");

BLOB类型

BLOB是一个二进制大对象,可以容纳可变数量的数据(像图片,视频等)

Mysql一般不会在数据库中使用BLOB类型,往往是将它们存储到服务器的硬盘上,将访问路径存储到MySQL上

TEXT和BLOB的使用事项

JSON类型

CREATE TABLE test_json(
js json
);
insert into test_json(js)
values("{"name":"wht","age":20,"address":{"province":"beijing","city":"beijing"}}"); 

#提取其中的数据(->)
select js -> "$.name" as NAME,js -> "$.age" as AGE,js -> "$.address.province" as PROVINCE,js ->"$.address.city" as CITY
from test_json;

空间类型(了解)

小结和建议

整型:INT

小数:DECIMAL(M,D)

日期时间:DATETIME

字符串:见阿里巴巴《开发手册》

原文地址:https://www.cnblogs.com/wht-de-bk/arcHive/2022/03/11/15995488.html

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据类型(精)

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

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

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

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

下载Word文档
猜你喜欢
  • 【MySQL】MySQL 数据类型
    目录 1. tinyint 类型 2. bit 类型 3. 小数类型 1、float 类型 2、decimal 类型 3. 字符串类型 1、char 类型  2、varchar 类型 4. 日期类型 5. enum和set 1、枚举和集合类...
    99+
    2023-09-07
    mysql 数据库
  • 【MySQL】MySQL数据类型
    文章目录 一、数据类型的分类二、tinyint类型2.1 创建有符号数值2.2 创建无符号数值 三、bit类型三、浮点类型3.1 float3.2 decimal类型 四、字符串类型4.1 char类型4.2 varchar...
    99+
    2023-08-22
    mysql android
  • 【MySQL】数据类型
    前言 在前一篇文章中,我们介绍了数据库的基本操作,而在插入表时涉及了许多关于表的数据类型,接下来就一起来学习一下MySQL常见的一些文件类型吧。 整形类型 数据类型字节最小值最大值TINYINT1-1...
    99+
    2023-09-24
    mysql
  • MySQL数据类型对应Java数据类型
    ### 数值类型 - TINYINT:大小(1byte),范围(有符号为-128到127,无符号为0到255),用于小整数值,对应于java中的Byte类型; - SMALLINT:大小(2byte),范围(有符号为-32768到3276...
    99+
    2023-09-07
    mysql java 数据库
  • 【MySQL】数据库数据类型
    文章目录 1. 整体概要2. 数值类型(有符号) tinyint 创建表(无符号) tinyint 创建表bit类型float 类型(无符号)floatdecimal 3. 二进制类型ch...
    99+
    2023-10-23
    数据库 mysql
  • MySQL数据类型enum 枚举类型
    例如: 性别 gender 男 女 保密 基本语法: enum(数据值 1,数据值 2...); 数据值列表在 255 个以内,使用 1 个字节来存储数据值列表超过 255,但是小于...
    99+
    2024-04-02
  • 【MySQL】数据库的数据类型
    数据类型 一、数据类型分类二、数值类型1. tinyint2. bit3. 小数类型(1)float(2)decimal 三、字符串类型1. char2. varchar3. varchar 和 char 比较 四、日...
    99+
    2023-12-23
    数据库 mysql android linux centos
  • java保存json类型数据到mysql数据库,mysql保存json类型数据
    1.首先在对应表添加一个json类型字段 2.在java对应的实体类添加对应的字段,重点是加上(typeHandler = JacksonTypeHandler.class)这个注解 不然的话保存...
    99+
    2023-09-04
    java mysql 数据库
  • MySQL 数据类型详情
    目录1、数值类型1.1、数值类型分类1.1.1、浮点数1.1.2、位类型1.1.3、时间日期类型1.1.4、字符串类型1.1.5、ENUM 类型1.1.6、SET类型1、数值类型 1...
    99+
    2024-04-02
  • 【mysql】—— 数据类型详解
    序言: 本期我将大家认识关于 mysql 数据库中的基本数据类型的学习。通过本篇文章,我相信大家对mysql 数据类型的理解都会更加深刻。 目录 (一)数据类型分类 (二)数值类型 1、tinyint类型 2、bit类型 3、小数类型 ...
    99+
    2023-08-31
    mysql 数据库
  • mysql中dateTime类型数据转换为date类型
    目录 一.前言 二.解决方法 2.1用sql来转换 2.2. 用注解解决 一.前言 在我们实际开发中, 数据库中有很多的数据类型, 今天我们来看一下我们的时间转化将dateTime转换成date类型 dateTime类型:  格式:20...
    99+
    2023-09-08
    mysql sql sqlserver
  • 1. mysql基本数据类型
    常见的数据类型: 整数类型:bit、tiny int、small int、medium int、 int、 big int 浮点数类型:float、double、decimal 字符串类型:char、...
    99+
    2023-08-31
    mysql 数据库 sql
  • MySQL数据库的数据类型和基于MySQL数据类型的综合实例项目
    文章目录 MySQL数据库的数据类型和基于MySQL数据类型的综合实例项目1、MySQL具有的数据类型1.1、MySQL整数类型1.2、MySQL浮点类型和定点数1.3、MySQL日期与时间类...
    99+
    2023-09-02
    数据库 mysql MySQL数据库 MySQL数据库的应用 大数据
  • javascript mysql数据类型转换
    在前端开发中,经常需要对前端和后端的数据类型进行转换。其中,JavaScript 和 MySQL 是我们常用的两种语言,这篇文章就来讲一下 JavaScript 和 MySQL 数据类型之间的转换。一、JavaScript 数据类型Java...
    99+
    2023-05-17
  • MySQL 5.7常见数据类型
    ——《深入浅出MySQL(第二版)》笔记 数值类型 整数类型 字节 最小值 ...
    99+
    2024-04-02
  • mysql有哪些数据类型
    这篇文章给大家介绍mysql有哪些数据类型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、数值类型数值是诸如32 或153.4 这样的值。mysql支持科学表示法,科学表示法由整数或浮点数后跟“e”或“E”、一个符号...
    99+
    2023-06-14
  • mysql 有哪些数据类型
    本篇文章给大家分享的是有关mysql 有哪些数据类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。tinyint , smallint ,me...
    99+
    2024-04-02
  • MySQL数据类型有什么
    本篇内容介绍了“MySQL数据类型有什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、数值类型1.1、数值类型分类严格数值类型(INTE...
    99+
    2023-06-25
  • mysql数据类型有哪些
    这篇文章主要介绍mysql数据类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先要了解其支持的数据类型。mysql支持所有标准的sql数据类型,包括三类:数值型,日期型,字...
    99+
    2024-04-02
  • mysql的数据库数据类型有哪些
    MySQL数据库中常用的数据类型包括: 整数类型:INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT 浮点...
    99+
    2024-05-08
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作