mysql燕子18记笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mysql燕子18记笔记

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

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档