脚 本 之 家 www.jb51.net
页面导航:  不限条件-->mysql
本地搜索:
在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。这里面有个困难,就是插入主表记录后,如何获得它对应的id。通常的做法,是通过“selectmax(id)fromtablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?答案之一是通...
http://www.jb51.net/article/22605.htm
幸运的是,MySQL提供了一些方法用于批量录入数据,使得向表中添加数据变得容易了。本节以及下一节,将介绍这些方法。本节将介绍SQL语言级的解决方法。1、基本语法语法:LOADDATA[LOCAL]INFILE'file_name.txt'[REPLACE|IGNORE]INTOTABLEtbl_nameLOADDATAINFILE语句从一个文本文件中以很高的速度读入一个表中。如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上。(LOCAL在MySQL3.22.6或以后版本中可用。)为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有...
http://www.jb51.net/article/22604.htm
标准的SQL模式匹配SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOTLIKE比较操作符。例如,在表pet中,为了找出以“b”开头的名字:mysql>SELECT*FROMpetWHEREnameLIKE"b%";+--------+--------+---------+------+------------+------------+|name  |owner|species|sex|birt...
http://www.jb51.net/article/22603.htm
myisam_max_[extra]_sort_file_size足够大delay_key_write减少io,提高写入性能bulk_insert_buffer_sizeconcurrent_insert设置为2read_rnd_buffer_sizerandomscan使用read_buffer_size顺序扫描表使用keycache的三种方式keycache预加载SETGLOBALhot_cache.key_buffer_size=16mSETBLOBALcold_cache.key_buffer_size=16mCACHEINDEXexample.top_messageINhot_cac...
http://www.jb51.net/article/22602.htm
关于建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢。3、尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB。但MyISAM不支持Transcation。4、当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了。5、习惯和强迫自己用EXPLAIN来分析你SQL语句的性能。一个很容易犯的错误:不要在选择的栏位上放置索引,这是无意义的。应该在条件选择的语句上合...
http://www.jb51.net/article/22601.htm
一、前言:当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统。这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法。在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数据库的自动备份,并且,让整个数据自动备份与数据恢复过程都基于Shell。建立数据库备份所需条件[1]建立自...
http://www.jb51.net/article/22600.htm
1。如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。2。用setpassword语句来修改用户的密码,三个步骤,先“mysql-uroot”登陆数据库系统,然后“mysql>updatemysql.usersetpassword=password('newpwd')”,最后执行“flushprivileges”就可以了。3。需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于ACL即访问控制列表的安全措施来完成。也有一些对SSL连接的支持。4。除了root用户外的其他任何用户不允...
http://www.jb51.net/article/22599.htm
解决方法:1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改称"%"[code]mysql-uroot-pvmwaremysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>selecthost,userfromuser;[/code]2.授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。GRA...
http://www.jb51.net/article/22598.htm
是否一定要这样做呢?很多网上的帖子都是人云亦云,别人说要,他也说要。其实用的,每次重装系统,都这样拷一遍,折腾一遍,太辛苦了。用过APMServ这个傻瓜式安装包的朋友可能会发觉,这个东西,在第一次安装后,以后重装系统也不会重新安装的,只要运行一下主程序,就可以运行WAMP的了,不用折腾一遍的。可能有人会认为它把libmysql.dll拷贝到c:\windows目录下了,其实不是的,不信去找一找。既然APMServ可以做到,那么我们也可以做得,比对了APMServ和我们安装的WAMP,找到奥妙就在apache的httpd.conf配置文件。在httpd.conf加载PHP时,大家都知道是添加这句...
http://www.jb51.net/article/22574.htm
对于针对字符串位置的操作,第一个位置被标记为1。ASCII(str)返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。mysql>selectASCII('2');->50mysql>selectASCII(2);->50mysql>selectASCII('dx');->100也可参见ORD()函数。ORD(str)如果字符串str最左面字符是一个多字节字符,通过以格式((firstbyteASCIIcode)*256+(secondbyteASCIIcode))[*256+thirdbyte...
http://www.jb51.net/article/22573.htm
为了防止安全隐患,我们一般针对每个数据库都设置了独立的数据库访问帐号,该帐号仅有访问该数据库的权限。下面就让我们来具体演示一下:   1、首先我们要登陆php(做为现在的主流开发语言)MyAdmin,不做演示。   2、创建一个数据库,如下图,在php(做为现在的主流开发语言)MyAdmin右边窗口中,填写数据库名称,点创建即可。          例如我们这里创建一个名字为:cncmstest的数据库   ...
http://www.jb51.net/article/22538.htm
共有:652/10,当前1/66页  [首页] [上一页] 1 2 3 4 5 6 7 8 [下一页]  [尾页] 转到: