- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
回顾
数据库:数据库基本知识
数据库分类:关系型和非关系型
mysql:c/s结构
连接服务器
准备SQL语句,发送SQL语句(客户端)
接收SQL语句,执行SQL,返回结构(服务器)
解析数据,显示数据(客户端)
断开连接(客户端发起,服务器确定)
mysql服务器数据对象:DBMS-DB-Table-Field-Data
SQL:结构化的查询语言,包含三个部分:DDL,DML(DQL)和DCL
SQL基本操作:库操作,表操作(字段操作)和数据操作
DDL:库操作,表操作(字段操作)
DML:数据操作,DQL(select/show/desc/describe/showcolumnsfrom)
字符集:setnames字符集(当前客户端的字符集)
从字符集角度出发:客户端是强势端,服务器是弱势端(服务器服务客户端)
字符集
setnames字符集(GBK)做了两件事情
告诉服务器当前客户端发送给服务器的数据是GBK,服务器应该按照GBK格式进行数据的接收
告诉服务器当前客户端只能接受GBK格式的数据,服务器应该返回GBK数据。
语法:查看当前服务器对客户端的默认识别方式(服务器认为客户端的字符集是什么格式)
showvariableslike‘character_set%’;
客户端与服务端编码不一致插入数据
解决方法:修改服务器端默认的客户端字符集
语法:修改的系统变量
setcharacter_set_client=GBK
服务端返回的数据的格式与客户端字符集不一致
解决方法:修改服务器默认的客户端能够识别的结果对应的字符集
setcharacter_set_results=gbk;
setnames字符集所做的事情:一般使用该方式
字符集原理
存储引擎
存储引擎是指的数据库对数据的存储方式
MYSQL提供了很多存储引擎,但是免费的只有InnODBC和myisam
如何选择存储引擎?
建议:尽量使用默认的,5.5以上默认的是InnoDB
如果表操作以查询和插入为主,使用myisam
如果要进行事务安全处理,使用InnoDB
如果要进行外键处理,使用InnoDB
myisam比InnoDB在某些方面有优势
查询效率要高
批量插入速度要高
备份要容易:myisam只要复制三个对应的文件
校对集
用来进行数据比较的时候的一种规范。
查看所有校对集
showcollation;
mysql中支持三种校对集
_bin:二进制比较,区分大小写
_cs:casesensitive,大小写敏感
_ci:caseinsensitive,大小写不敏感
校对集的使用
校对集只有在对数据进行比较的时候,才会自动的调用。通常是在对数据进行排序的时候会使用。
排序:select*from表orderby字段[asc|desc]
asc:升序排序,默认的,如果orderby没有指定排序方式,默认是升序
desc:降序排序
校对集排序效果
注意:
utf8是不支持中文的比较的
GBK支持中文比较(比的不是汉子,是拼音)
乱码问题解决
乱码分成两种
数据存放到某个位置的时候因为编码的问题,导致最终存储的内容变成了乱码,这种乱码问题没有办法解决。
数据存放的时候是正常的,但是在数据进行传输或者显示的过程中,因为编码的不一致导致显示错误。这种可以解决,只要调整对应的编码机制。
网站出现乱码的可能
数据库存的数据的编码与php脚本的编码不一致
浏览器显示数据的时候与php脚本的编码不一致
文件的编码与php脚本的编码不一致
乱码解决的标准方法(理想方案):三码合一(浏览器,服务器和数据库)
数据库和服务器能够轻松的统一
浏览器是没有办法进行编码设置(可以通过HTTP协议临时的改变浏览器的解析编码)
乱码解决
数据类型
在mysql(SQL)中,为了能够更好的管理和存储数据,对数据的类型进行更严格细致的分类
mysql中数据类型分为三个大类:时间日期型,数值型和字符串型
数值型
保存各类数值:整型,小数型,小数型又包含浮点型和定点型。
整型
存储的是整数。根据实际的需求分类,SQL对整型进行更细的划分,划分成五类:迷你整型(tinyint),小整型(smallint),中整型(mediumint),标准整型(int),大整型(bigint)
tinyint:系统只分配一个字节进行数据存储,只能最多存储256个数字
smallint:分配2个字节进行数据存储,最多能存65536个数字
mediumint:分给3个字节存储
int:分配4个字节存储
bigint:分配8个字节存储
默认的,数值类型都是区分正负的
整型的数据范围
类型
字节
最小值(有符号/无
文档评论(0)