mysql5.6初级使用方法学习第四天

Mysql数据类型

整数型数据类型

tinyint          很小的整数      1个字节

smallint       小的整数          2个字节

mediumint  中等大小的整数   3个字节

bigint             大整数             8个字节

根据占用字节数可以求出每一种数据类型的取值范围 tinyint需要1个字节(8bits)来存储,那么tinyint无符号数的最大值为2^8-1,即255;tinyint有符号的最大值为2^7-1,即127

在创建数据库中表的字段是,经常会遇到int(11)这类,括号中的数字表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。例如,假设声明一个int类型的字段:

year int(4)

该声明指明,在year字段中的数据一般只显示4位数字

注意:显示宽度与数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示得到数字个数,数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,只要改制不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。例如,加入向year字段插入一个数值19999,当使用select查询该列值的时候,MySQL显示的将是完整的带有5位数字的19999,而不是4位数字的值。

系统添加的默认显示宽度

tinyint(4) smallint(6) mediumint(9) int(11) bigint(20)

MySQL中使用浮点数和定点数来表示小数,浮点类型有float和double,定点类型有decimal

浮点类型和定点类型都可以用(M,N)表示,其中M表示精度,表示总共的位数,N表示标度,表示小数的位数。

float需要4个字节存储,double需要8个字节存储,decimal(M,N)需要M+2个字节存储。

decimal是以串存放的,可能的最大屈指范围与double一样,但是其有效地取值范围由M和D的值决定。

日期与时间类型

datetime,date,timestamp,time,year

每一个类型都有合法的取值范围,当指定确实不合法的值是系统将插入0值。

year类型是一个单字节类型,需要1个字节存储,可以使用各种形式指定year值

1.以四位字符串或者四位数字格式表示 输入格式‘YYYY‘或者YYYY

2.以二位字符串个事表示的year,范围为‘00‘到‘99‘ ‘00‘~‘69‘表示2000到2069 ‘70‘~‘99‘表示为1970到1999,‘0‘与‘00‘的表示数值相同,都是2000

3.以二位数字表示的year,范围为1~99,1~69表示2001~2069,70~99表示1970~1999,0值将会被转换为0000,不是2000。

注意:需要表示2000,请使用‘0‘或‘00‘

time类型用来表示时间信息,在存储时需要3个字节,格式‘HH:MM:SS‘。time类型可以表示过去的时间或两个事件之间的时间间隔,因此可以大于24小时,或者甚至为负。

表示方法:‘D HH:MM:SS‘ 非严格语法:‘HH:MM:SS‘ ‘HH:MM‘ ‘D HH:MM‘ ‘D HH‘ ‘SS‘,D表示日,取0~34之间的值。再插入数据库时,D被转换为小时保存,格式为"D*24+HH"。

表示方法:‘HHMMSS‘

注意:如果再插入数据的时候使用了一个非法数值,则系统会记录为00:00:00

注意:为TIME列分配简写值是应注意:如果没有冒号,MySQL解释值时,认为最右边的两位表示秒。‘1112‘和1112表示为00:11:12 ,‘12‘和12表示为00:00:12。相反,在time值中如果使用冒号则会被看作普通人理解的时间 ‘11:12‘表示11:12:00,而不是00:11:12

注意:在使用‘D HH‘格式,小时一定要使用双位数值,如果是小于10的小时数,应在前面加0,例如‘3 02‘被翻译为74:00:00

DATE类型只有日期,没有时间部分,需要3个字节存储。表中存储格式为‘YYYY-MM-DD‘。在给DATE类型赋值时,可以使用以下形式:

1.‘YYYY-MM-DD‘或者‘YYYYMMDD‘ 范围‘1000-01-01‘~‘9999-12-3‘

2.‘YY-MM-DD‘或者‘YYMMDD‘字符串格式表示的日期 YY取值00~69(2000~2069),70~99(1970~1999)

3.以YY-MM-DD或者YYMMDD数字格式表示的日期,效果同上

4.使用CURRENT_DATE或者NOW(),插入当前系统日期。

DATETIME类型存储时需要8个字节,表存储日期格式‘YYYY-MM-DD HH:MM:SS‘

1.‘YYYY-MM-DD HH:MM:SS‘或者‘YYYYMMDDHHMMSS‘字符串格式表示的值,取值范围‘1000-01-01 00:00:00‘~‘9999-12-3 23:59:59‘

2.‘YY-MM-DD HH:MM:SS‘ 或者 ‘YYMMDDHHMMSS‘字符串格式表示的日期,YY为00~69,70~99。

3.YY-MM-DD HH:MM:SS或者YYMMDDHHMMSS数字格式表示的日期和时间

TIMESTAMP的显示格式与DATETIME相同,显示宽度固定在19个字符,存储时需要4个字节,但是TIMESTAMP列的取值范围小于DATETIME的取值范围,为‘1970-01-01 00:00:00‘ UTC~‘2038-01-19 03:14:07‘ UTC

字符串类型CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM,SET

可以存储字符串数据,也可以存储其他数据,如图片和声音的二进制数据。

时间: 2024-08-06 03:46:34

mysql5.6初级使用方法学习第四天的相关文章

mysql5.6初级使用方法学习第一天

mysql server mysql -h localhost -u root -p //连接数据库  enterpasswd:  //键入密码 >show databases; //输出数据库名表 >create database test_db; //创建一个名字是test_db的数据库 >use test_db; //进入test_db数据库 >create table tb_emp1 >( >id int(11), >name varchar(25), &

mysql5.6初级使用方法学习第二天

//修改表的名称alter table 表名 rename 新表名 >alter table tb_dept3 rename tb_deptment3; //将tb_dept3表修改为tb_deptment3表 >show tables; //查看发现改名成功 //修改表中字段的数据类型 alter table 表名 modify 字段名称 字段类型 >alter table tb_dept modify name varchar(25); //将表tb_dept中的name列类型修改为

mysql5.6初级使用方法学习第三天

//删除数据表操作 //删除没有被关联的表 drop table if exists 表1,表2,... //drop命令可以一次性删除多个表,表之间用逗号隔开.参数if exists可选用于再删除前判断删除的表是否存在,加入该参数后,如果被删除的表不存在,SQL语句可以顺利执行,但会发出警告 >drop table if exist tb_dept2; //删除被关联的表 //再删除被关联的表示,可以删除子表,即有外键约束的表,但不可以删除父表,即在关联中作为主键的表 //如果要单独删除父表,

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

运维学习第四弹

运维学习第四弹之shell(bash): 一. hell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中shell的实际意义为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口. 它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支

WebService学习总结(四)——调用第三方提供的webService服务

WebService学习总结(四)——调用第三方提供的webService服务 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).一. 调用

小猪的数据结构学习笔记(四)

小猪的数据结构学习笔记(四) 线性表之静态链表 --转载请注明出处:coder-pig 本章引言: 在二,三中中我们分别学习了顺序表中的线性表与单链表,线性表有点类似于 我们前面所学的数组,而单链表使用的最多的是指针,这里问个简单的问题, 如果是在以前没有指针的话,前辈先人们怎么实现单链表呢?大家思考下! 没有指针,那么用什么来代替呢?前辈先人们非常机智,想出了使用下标+游标的方式 来实现单链表的效果!也就是今天要讲的--静态链表! 当然你也可以直接跳过本章,因为有了单链表就没有必要用静态链表了

Android学习Scroller(四)——实现拉动后回弹的布局

MainActivity如下: package cc.testscroller2; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 实现可以拉动后回弹的布局. * 类似于下拉刷新的. * * 参考资料: * 1 http://gundumw100.iteye.com/blog/1884373 * 2 http://blog.csdn.net/gemmem/article/details/7321910

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten