欢迎来到天天文库
浏览记录
ID:8977571
大小:1.79 MB
页数:80页
时间:2018-04-13
《mysql燕十八学习笔记》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Mysql三大列类型1.数值型整型Tinyint、Smallint、Mediumint、Int、Bigint小数型Float(D,M),Decimal(D,M)2.字符串型Char(M)Varchar(M)Text文本类型3.日期时间类型Date日期Time时间Datetime时间类型Year年类型一.整型列的字节与存储范围从数学上讨论tinyint,建表时既能足够存放,又不浪费空间。即:(1).占据空间(2).存储范围Tinyint微小的列类型,1字节。类型字节最小值最大值(带符号/无符号)(带符号/无符号)Tinyint1-1281270255Smal
2、lint2-3276832767065535Mediumint3-2^232^23-102^24-1Int4-2^312^31-102^32-1Bigint8-2^632^63-102^64-1通过占用字节和所存范围分关系合理的选择类型。例:Tinyint经测试,Tinyint的默认为有符号-128~127之间,当越界时自动取相应的边界值。若要存0~255无符号时:列的可选属性:Tinyint(M)unsignedzerofill.M:宽度(在0填充的时候才有意义)Unsigned:无符号类型(非负),影响存储范围Zerofill:0填充(默认无符号)列可
3、以声明默认值,而且推荐声明默认值notnulldefault0;一.小数型/浮点型、定点型Float(M,D):M代表总位数,D代表小数位(6,2)为例:-9999.99–>9999.99Decimal(D,M):一.字符型列Char:定长,char(M),M代表宽度,即:可容纳的字符数0<=M<=255Varchar:变长,0<=M<=65535(约2W—6W个字符受字符集影响)Text文本串,(约2W—6W个字符受字符集影响)区别在哪呢?char定长:M个字符,如果存的小于M个字符,实占M个字符varchar:M个字符,存的小于M个字符,设为N,N4、,实占N个字符因此,char定长若存空格,读取时会丢失。而变长不会。Char利用率小于等于100%,而varchar永远小于100%,1-2个字节用于标志实存字符长度。Char(M)如何占据M个字符宽度?答:如果实际存储内容不足M个,则后面加空格补齐,取出来的时候再把后面的空格去掉,(所以如果内容后面有空格,将会被清除)选择原则:1.空间利用效率(M固定选Char)2.速度速度上:定长速度快些,一.日期时间列类型Date日期Time时间Datatime时间类型Year年类型1.Year类型:1个字节表示1901-2155年【0000年表示错误时】如果输入两5、位,“00--69”表示2000—2069,如果输入两位“70--99”表示1970—1999如果记得麻烦,输入四位就行了、1.Date类型:典型格式,1992-08-12‘1000-01-01’à’9999-12-31’2.Time类型,典型格式hh:mm:ss‘-838:59:59’à’+838:59:59’1.Datetime典型格式:’1989-05-0612:23:34’‘1000-01-0100:00:00’à‘9999-12-3123:59:59`注意:在开发中很少使用日期时间类型来表示一个需要精确到秒的列,原因:虽然日期时间类型能够精确到秒6、,而且方便查看。但是计算不便。用时间戳来表示。时间戳:1970-01-0100:00:00到当前的秒数面试1:当表示性别时,可用1或0表示男女,如,可能会问到为什么不用enum枚举,原因:enum不符合关系型数据库设计理念,而且字节上不比tinyint少。实例:增删改查之案例过程分析用户注册表单收集,提交数据,注册页面收集到表单的数据后,形成insert语句,user表插入该条数据,用户注册完成前台用户中心,用户新昵称,根据新昵称和用户id,形成update语句,完成昵称修改管理后台点击会员列表,此时,网页形成select语句,查询出所有会员的数据,完成会7、员的查看管理员后台选中某用户并且删除,捕捉此用户的id,根据用户id形成相应的delete语句执行delete语句,完成用户的删除。阶段总结(一)列类型的概念数值型整型tinyintsmallintmediumintintbigint整型的unsigned代表无符号,zerofill代表0填充,M代表宽度(在0填充)浮点型/定点型float(M,D)unsignedMà精度,即总位数,D代表小数位decimal比float更精确。字符型Char(M)定长,可存储的字符数,M<=255Varchar(M),变长,可存储的字节数,M<=65535Char与va8、rchar的不同点Char(M),实占M个字符,不够M个右侧补空格
4、,实占N个字符因此,char定长若存空格,读取时会丢失。而变长不会。Char利用率小于等于100%,而varchar永远小于100%,1-2个字节用于标志实存字符长度。Char(M)如何占据M个字符宽度?答:如果实际存储内容不足M个,则后面加空格补齐,取出来的时候再把后面的空格去掉,(所以如果内容后面有空格,将会被清除)选择原则:1.空间利用效率(M固定选Char)2.速度速度上:定长速度快些,一.日期时间列类型Date日期Time时间Datatime时间类型Year年类型1.Year类型:1个字节表示1901-2155年【0000年表示错误时】如果输入两
5、位,“00--69”表示2000—2069,如果输入两位“70--99”表示1970—1999如果记得麻烦,输入四位就行了、1.Date类型:典型格式,1992-08-12‘1000-01-01’à’9999-12-31’2.Time类型,典型格式hh:mm:ss‘-838:59:59’à’+838:59:59’1.Datetime典型格式:’1989-05-0612:23:34’‘1000-01-0100:00:00’à‘9999-12-3123:59:59`注意:在开发中很少使用日期时间类型来表示一个需要精确到秒的列,原因:虽然日期时间类型能够精确到秒
6、,而且方便查看。但是计算不便。用时间戳来表示。时间戳:1970-01-0100:00:00到当前的秒数面试1:当表示性别时,可用1或0表示男女,如,可能会问到为什么不用enum枚举,原因:enum不符合关系型数据库设计理念,而且字节上不比tinyint少。实例:增删改查之案例过程分析用户注册表单收集,提交数据,注册页面收集到表单的数据后,形成insert语句,user表插入该条数据,用户注册完成前台用户中心,用户新昵称,根据新昵称和用户id,形成update语句,完成昵称修改管理后台点击会员列表,此时,网页形成select语句,查询出所有会员的数据,完成会
7、员的查看管理员后台选中某用户并且删除,捕捉此用户的id,根据用户id形成相应的delete语句执行delete语句,完成用户的删除。阶段总结(一)列类型的概念数值型整型tinyintsmallintmediumintintbigint整型的unsigned代表无符号,zerofill代表0填充,M代表宽度(在0填充)浮点型/定点型float(M,D)unsignedMà精度,即总位数,D代表小数位decimal比float更精确。字符型Char(M)定长,可存储的字符数,M<=255Varchar(M),变长,可存储的字节数,M<=65535Char与va
8、rchar的不同点Char(M),实占M个字符,不够M个右侧补空格
此文档下载收益归作者所有