MYSQL数据库MySQL中易被我们忽略的细节

MYSQL数据库MySQL中易被我们忽略的细节,第1张

概述介绍《MYSQL数据库MySQL中易被我们忽略的细节》开发教程,希望对您有用。

《MysqL数据库MysqL中易被我们忽略的细节》要点:
本文介绍了MysqL数据库MysqL中易被我们忽略的细节,希望对您有用。如果有疑问,可以联系我们。

MysqL作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己踩坑.MysqL入门

声明:要想知道细节,那就去阅读源码,我实在没那本事,只能从片面上来说一些事!MysqL入门

1、不区分大小写(字段名)
MysqL的查询字段名不区分大小写,但是查询的内容是要区分大小写的,所以能用下划线命名的就不要用大小写来区分命名了,如:
MysqL入门

SELECT uID,v_state FROM all_user WHERE username = 'sunyue';SELECT uID,v_state FROM all_user WHERE USERname = 'sunyue';       //与上一个语句结果一样,字段不区分大小写SELECT uID,v_state FROM all_user WHERE USERname = 'SUNYUE';       //查不到信息,内容要区分大小写

2、模糊匹配([_]匹配任意字符)
虽说模糊匹配有点正则的意思,但是你并不能像正则一样自由地在数据库里进行匹配,做到尽量简化匹配就好!(附名词:全文检索sphinx)
MysqL入门

SELECT uID,v_state FROM all_user WHERE USERname liKE 'su_yue';   //下划线[_]匹配任意单个字符SELECT uID,v_state FROM all_user WHERE USERname liKE 'su%yue';   //%匹配任意多个字符SELECT uID,v_state FROM all_user WHERE USERname NOT liKE 'su%';     /t like取不包含的信息

3、怎样猜测一个功能
MysqL作为一个关系型数据库,面向的是普通的开发者,所以一切尽可能做到人性化.所以,如果你不知道某个功能是什么,那么,也许你可以猜得出来,因为,如果一个功能让别人无法猜出个大概,那么也许,他就是失败的设计.对于MysqL,只要你英语水平稍微好一点点,就能很轻松的想到关系查询应该怎么写.所以,猜测的能力,在于你英语的水平,哈哈哈!!!MysqL入门

4、replace into 语法
replace into 是一个很粗暴的插入方式,不过在适当的场景使用也是很有必要的,比如一些需要随时覆盖式写入的数据,就应该使用replace,但是对于一些自增型的表,则应尽量避免使用,因为这样会是对ID的一种浪费,也许没必要使用replace.MysqL入门

5、insert into on dumplicate key update 语法
这个写法相对来说就温柔多了,但是速度肯定是慢一点的,据说只有MysqL才有这个特性哦,如果你不想在插入前去判断一下是否已存在该数据,也许这是一个不错的选择!MysqL入门

6、explain 语法
这是一个检查查询效果的有效方式,其实我本人很少使用这功能,但是,如果一个开发者经常使用这功能,我相信,他本人肯定是个牛掰的人.通过这个命令,可以判断出你写的语句是否是优化的,如果不是,方向是什么.应该说,你用得多了,自己自然就知道结果了,还是多用用吧!MysqL入门

7、索引长度
myisam的索引长度最大为1000字节,innodb的索引长度最大为767字节!注意使用哦,超出范围,则超出预料!MysqL入门

8、库的复制
1)直接数据MysqL自带的数据库备份恢复命令;
2)直接拷贝文件到目的服务器(注意进程占用问题);
3)使用工具进行同步;个人感觉第二种方式最简单!MysqL入门

9、分区
对于一些可能会很大的表,需要进行分区 *** 作,如果有这方面的需求,需要在最开始就添加至少一个分区,否则后期将无法 *** 作分区.(至少我是这么认为的)MysqL入门

10、慢查询
慢查询,这是一个对性能的监控问题,如果服务器表现太差,排查问题时,有这种慢查询的记录,排查起来将事半功倍!MysqL入门

11、binlog
binlog,一般都会用到这功能,对于数据恢复,数据 *** 作记录等等有很必要功用!MysqL入门

12、其他应该要知道的视图、存储过程、事件...
视图、事件等,这些都是一些高级应用,我发现很多项目根本不存在这种应用,到少我遇到的项目都几乎不涉及或者涉及了也是别人随便做做!但是高级功能还是要了解的,不管有没有用!MysqL入门

13、可使用的工具
phpmyadmin,作为远程安全 *** 作数据库的方式,还是很不错的,但是作为本地 *** 作的话,实在有点笨拙;sqlyog,界面虽古板,但是还是比较方便的;navicat,比较专业化,不过你得适应他的各种表现形式;命令行,我想应该不会有人直接使用命令行进行 *** 作吧,不过,命令行才是根本呢!MysqL入门

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持内存溢出PHP.MysqL入门

总结

以上是内存溢出为你收集整理的MYSQL数据库MySQL中易被我们忽略的细节全部内容,希望文章能够帮你解决MYSQL数据库MySQL中易被我们忽略的细节所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1159934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存