mysql基本数据类型(mysql学习笔记三)
Mysql数据类型

小数:

浮点:小数位可以变化
Float单精度默认精度6位左右
Double 双精度默认精度16位左右
支持,控制数值范围
Type(M,D)
M表示所有数值位数(不包括小数点和符号)
D 表示允许的小数位数。
不符合的都错误
支持科学计数法
定点数:
Decimal(M,D)
M总位数
D小数位数
M默认10 D默认0
四舍五入
支持zerofill和unsigned(显示范围不变,和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. 一天中的时间
- 2. 时间间隔
- 3. 可以使用天来表示
格式:D HH:MM:SS
D 天
字符串类型

一. Char与varchar
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学习笔记三)的更多相关文章
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- MySQL实战45讲学习笔记:第三十九讲
一.本节概况 MySQL实战45讲学习笔记:自增主键为什么不是连续的?(第39讲) 在第 4 篇文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧 ...
- MySql学习笔记三
MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...
- 深挖计算机基础:MySQL实战45讲学习笔记
参考极客时间专栏<MySQL实战45讲>学习笔记 一.基础篇(8讲) MySQL实战45讲学习笔记:第一讲 MySQL实战45讲学习笔记:第二讲 MySQL实战45讲学习笔记:第三讲 My ...
- 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客
多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署
- MySQL事务控制语句(学习笔记)
MySQL事务控制语句(学习笔记) MySQL事务控制语句 在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作.因此开启一个事务必须使用begi ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
随机推荐
- python wechat_sdk间接性的出现错误OfficialAPIError: 40001,说access_token已过期或者不是最新的。
原因是部署django时使用了多进程,每个进程都会去请求access_token,只有最新的那个有效
- Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)
在之前的文章(http://space.itpub.net/17203031/viewspace-774843)中,笔者介绍了如何在Linux 2.6内核中配置HugePage以及AMM与其的不兼容性 ...
- oracle rac 日志体系结构!
告警日志集群节点集群件告警日志:$GRID_HOME/log/<hostname>/alert<hostname>.log数据库实例的告警日志:$DIAG_DESTINATIO ...
- mysql information_schema
SELECT TABLE_NAME,COLUMN_NAME,CHARACTER_MAXIMUM_LENGTH,COLUMN_COMMENT FROM COLUMNS WHERE TABLE_SCHEM ...
- EndNote文献管理
一直想写个博客,但是一直没有好好坐下来对自己工作进行一个梳理.从今天开始吧,争取多写一点. 今天,先介绍一下科技论文写作中经常使用的一款软件EndNote,这个软件,掌握它的使用方法后会觉得很方便:但 ...
- GLib基础
实用功能 GLib中包含了近二十种实用功能,从简单的字符处理到初学者很难理解的XML解析功能,这里介绍两种较简单的:随机数和计时. 下面代码演示如何产生1-100之间的随机整数和演示如何计算30000 ...
- 慕课网-安卓工程师初养成-4-2 Java条件语句之 if...else
来源:http://www.imooc.com/code/1354 if...else 语句的操作比 if 语句多了一步: 当条件成立时,则执行 if 部分的代码块: 条件不成立时,则进入 else ...
- 在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列?
在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列?(效果图如下:): 在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列(效果图) 实现该 ...
- ASPxTreeList控件去根节点的新增修改操作(写在onCommandColumnButtonInitialize()事件中)
treelist去掉根节点按钮效果图: //去掉父节点及子节点旁的新增.修改.删除操作(写在onCommandColumnButtonInitialize事件中) protected void Tre ...
- 不安装Oracle客户端使用PL/SQL连接服务器端Oracle
从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做Instant Client Package. 将它安装好后,就不用再安装庞大的Oracle客户端,可以直接通过使用PL/SQL连接服务器 ...