美文网首页
MySQL数据库之数据类型

MySQL数据库之数据类型

作者: 忘了呼吸的那只猫 | 来源:发表于2018-09-26 16:08 被阅读18次

MySQL中定义数据字段的类型对数据库的优化非常重要

MySQL支持多种类型,大致可分为数值、日期/时间和字符串(字符)类型。

       数值:

  1.整数(TINYINT SMALLINT MEDIUMINT INT BIGINT)

  tinyint[(m)] [unsigned] [zerofill](小整数,用于保存一定范围内的整数)

   有符号:-127~128  

        无符号:0~255

int[(m)][unsigned][zerofill](整数,用于保存一定范围内的整数)

有符号:-2147483648 ~ 2147483647

无符号:0 ~ 4294967295

bigint[(m)][unsigned][zerofill](大整数,用于保存一定范围内的整数)

有符号:(-9233372036854775808,9223372036854775807)

 2.小数类型

    日期:(DATETIME、DATE、TIMESTAMP、TIME和YEAR)

  每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

在实际应用的很多场景中,MySQL的这两种日期类型都能够满足我们的需要,存储精度都为秒,但在某些情况下,会展现出他们各自的优劣。下面就来总结一下两种日期类型的区别。1.DATETIME的日期范围是1001——9999年,TIMESTAMP的时间范围是1970——2038年。2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也依赖于时区。在mysql服务器,操作系统以及客户端连接都有时区的设置。3.DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节。因此,TIMESTAMP比DATETIME的空间利用率更高。4.DATETIME的默认值为null;TIMESTAMP的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP),如果不做特殊处理,并且update语句中没有指定该列的更新值,则默认更新为当前时间。

datetime与timestamp的区别

  字符串

  注意:

1. 单独插入时间时,需要以字符串的形式,按照对应的格式插入2. 插入年份时,尽量使用4位值3. 插入两位年份时,<=69,以20开头,比如50,  结果2050     

                >=70,以19开头,比如71,结果1971

MariaDB [db1]> create table t12(y year);

MariaDB [db1]> insert into t12 values 

    -> (50),

    -> (71);

MariaDB [db1]> select *from t12;+------+| y    |+------+| 2050 || 1971 |+------+

枚举类型与集合类型

字段的值只能在给定范围中选择,如单选框,多选框

enum 单选只能在给定的范围内选一个值,如性别 sex 男male/女female

set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)

#枚举类型CREATE TABLE shirts (

                    name VARCHAR(40),

                    size ENUM('x-small','small','medium','large','x-large')

                );

                INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small');#集合类型CREATE TABLE myset (col SET('a','b','c','d'));

                INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');

相关文章

  • MySQL数据库DDL、DML详解

    一、MySQL数据库数据类型 <1> MySQL数据库中支持多种数据类型 数值型 字符型 日期型 <2> 常用的数...

  • MYSQL复习

    mysql数据库学习 -- mysql里面的数据类型-- 数值-- 字符串-- 日期 -- 创建数据库?creat...

  • MySql基本操作(一)

    从命令行中连接mysql服务器的简单实例 创建和删除数据库 选择数据库 数据类型 可参考:Mysql数据类型 数据...

  • PHP面试之数据库基础

    [TOC] 1. MySQL数据库基础 MySQL数据类型 整数类型 tinyint smallint mediu...

  • MySql笔记

    Mac安装并运行MySql MySql数据库、数据表的操作 MySql数据类型及常见约束 MySql表操作 MyS...

  • 学习日记6(数据库2- 数据类型)

    查看数据库 创建数据库dbtest 删除数据库dbtest mysql 数据类型 1.数值intfloatdoub...

  • 三、数据类型和约束

    1、数据类型 在MySQL数据库管理系统中,可以通过存储引擎来决定表的类型。同时,MySQL数据库管理系统也 提供...

  • MySQL表的操作

    MySQL基础一上一节主要了解了MySQL数据库的相关命令和数据库中存储的数据类型, 这一节主要是MySQL中对于...

  • 4、mysql基本数据类型

    [toc] MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种...

  • MySQL学习笔记一之MySQL语法

    title: MySQL学习笔记一之MySQL语法tags: MySQL 数据库categories: MySQL...

网友评论

      本文标题:MySQL数据库之数据类型

      本文链接:https://www.haomeiwen.com/subject/eofjoftx.html