Mysql数据类型

小数:

浮点:小数位可以变化

Float单精度默认精度6位左右

Double 双精度默认精度16位左右

支持,控制数值范围

Type(M,D)

M表示所有数值位数(不包括小数点和符号)

D 表示允许的小数位数。

不符合的都错误

支持科学计数法

定点数:

Decimal(M,D)

M总位数

D小数位数

M默认10 D默认0

四舍五入

支持zerofillunsigned(显示范围不变,和int不同)

日期时间:

时间戳

存储时,整型,表示时仍然是日期时间(插入和读取时按照datetime格式)

时间范围 1970 1.1 0:0:0到其后的2^31-1亿秒(整型范围决定)即到2038-01-19 03:14:07

检索时字段+0

即为整型格式展示

create table dt_1(

a datetime,

b timestamp

);

insert into dt_1 values('2013-04-16 2:13:11','2013-04-16 2:13:11');

 

 

select a,b+0 from dt_1;

 

2013-04-16 02:13:11 | 20130416021311 |

select a+0,b+0 from dt_1;

20130416021311.000000 | 20130416021311 |

插入时格式只和实际有关,与分割符无关

歧义:(不建议使用)

insert into dt_1 values('20-04-16','2013-04-16 2:13:11')

2020-04-16 00:00:00 | 2013-04-16 02:13:11

 

insert into dt_1 values('2-4-6','2013-04-16 2:13:11')

0002-04-06 00:00:00 | 2013-04-16 02:13:11

支持2位年份

70-69      1970-2069

70-99      19xx

0-69 20xx

不建议使用

支持0

2013-04-0表示 4月整月

Time类型

  1. 1.                一天中的时间
  2. 2.                时间间隔
  3. 3.                可以使用天来表示

格式:D HH:MM:SS

D

字符串类型

一.   Charvarchar

Char(M) 固定长度,M严格限定长度

Varchar(M)可变,M允许的最大长度(范围)

M是字符数而非字节数,但是总的长度的使用是按照字节计算的。

Utf8 21845*3=65535

Gbk 32767*2=65534

Latin一个字节一个字符

字段的最大长度,除了类型本身限制之外,记录的总长度也有限制

create table s2_2_2(

a varchar(21845)

) character set utf8;

创建不成功,减少一个字符可以。

create table s4(

a varchar(65535)

) character set latin1;

即使加 not null也是创建失败

65534同样情况

65533必须加 not null才可以创建成功!

真实的varchar长度

总长度 65535

Varchar特点:当类型数据超过255个字符时,采用2个字节表示长度。

65535-2=65533

整条记录,需要一个额外的字节来保存那些字段的值是null的。

除非所有的字段都不是null,这个字节才能省略。一个记录,不论又多少个字段存在null,都是使用统一的一个字节来表示,而不是每一个字段一个字节。

65533时not null才能成功。

create table s6(

a varchar(65532)

) character set latin1;

能创建

create table s7(

a varchar(65532) ,

b tinyint

) character set latin1;

创建不了

create table s6(

a varchar(65532) not null,

b tinyint

) character set latin1;

创建不了

create table s6(

a varchar(65532) not null,

b tinyint not null

) character set latin1;

可以创建

65532+2+1(tinyint)

Drop table tb1,tb2….. tbn;

create table t4(

a text not null,

b varchar(65523) not null

) character set latin1;

刚好成功

Text类型不能指定长度和默认值可以not null(插入时不写该字段插入空字符串,能成功插入),不加not null,插入时不写该字段会默认插入null

Enum保存的是整型处理

集合set

   (‘footbal’,’basketball’,’swim’)

1,10,100

1+100=101=5

10+100=110=6

1,10,100,1000

1+1000=1001=9

1+10+100+1000=1111=15

1+10=11=3

二进制

mysql基本数据类型(mysql学习笔记三)的更多相关文章

  1. Typescript 学习笔记三:函数

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  2. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  3. MySQL实战45讲学习笔记:第三十九讲

    一.本节概况 MySQL实战45讲学习笔记:自增主键为什么不是连续的?(第39讲) 在第 4 篇文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧 ...

  4. MySql学习笔记三

    MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...

  5. 深挖计算机基础:MySQL实战45讲学习笔记

    参考极客时间专栏<MySQL实战45讲>学习笔记 一.基础篇(8讲) MySQL实战45讲学习笔记:第一讲 MySQL实战45讲学习笔记:第二讲 MySQL实战45讲学习笔记:第三讲 My ...

  6. 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客

    多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署

  7. MySQL事务控制语句(学习笔记)

    MySQL事务控制语句(学习笔记) MySQL事务控制语句         在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作.因此开启一个事务必须使用begi ...

  8. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  10. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

随机推荐

  1. ZOJ 2404 Going Home 【最小费用最大流】

    思路: 把房子和人看成点,加上源点和汇点. 源点和每个人连容量为1,权值为0的边. 每个人和每个房子连容量为1,权值为距离的边. 每个房子和汇点连容量为1,权值为0的边. #include<st ...

  2. C++primer 练习13.36

    #pragma once #include<string> #include<set> using namespace std; class Message { friend ...

  3. 【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)

    用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK ...

  4. ThreadLocal意为变量副本

    http://blog.csdn.net/lufeng20/article/details/24314381

  5. linux mint konsole终端模拟器 字符之间空格

    最近安装了linux mint 发现里面的终端是:konsole终端模拟器 ,问题是每次输字符随着输入字符越来越多,字符与光标之间的距离也越来越大(看上去像是自动添加了空格一样), 同时在使用vi时, ...

  6. 0901~0907面试总结(腾讯CDC、金蝶)

    纯脑记,但应该不会差太多 20150901腾讯CDC面试(初级外包岗) 0826的上午先用QQ进行了初步沟通,要求做一个不考虑AI的井字棋游戏,0830上午E-mail上交了做好的DEMO,然后等了几 ...

  7. 在EXCEL中使用SQL查询

    Excel2007及以上版本才有这个功能,2003版本的要么路过学习一下.要么去升级下自己的版本. Microsoft query 用的是 access 语法 如:判断空 oracle ------- ...

  8. Mac OS X Server 安装与应用

    Mac OS X Server 安装与应用 Mac OS X Server是苹果电脑公司新一代服务器软件.专为OS X和iOS设备.Mac OS X提供服务,现在支持Mavericks,能够轻松共享文 ...

  9. a mystrious max subquence sum

    #include<cstdio>#include<cstring>const int maxn=100005;int buf[maxn];int main(){ freopen ...

  10. Qt中QObject中的parent参数

    今天写了一个小程序,验证了带参的构造函数中参数parent的作用. 在MainWindow中声明一个QDialog类型的指针,在MainWindow中对它进行初始化.我采用了两种初始化方式,一种是带参 ...