文章标题关闭所有内容预览 | 展开所有内容预览
-
提高MySQL 查询效率的三个技巧
[内容预览]
208 | 2007-12-21 13:10:07
MySQL由于它本身的小巧和操作的高效,在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试.使用statement进行绑定查询使用stat...
[阅读全文]
-
关于MySQL中的mysqldump命令的使用
[内容预览]
2322 | 2005-10-10 16:13:04
您可以看到MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半。另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享。在这个信息技术不断...
[阅读全文]
-
[组图] MySQL数据库技术(15)
[内容预览]
542 | 2005-09-26 15:48:50
3.5获取数据库和表的有关信息MySQL提供了几条获取数据库和表中信息的语句。这些语句对于了解数据库的内容及了解自己表的结构很有帮助。还可以将它们作为使用ALTERTABLE的一种辅助手段;能够知道当前列是如何定义的,计划出怎样对列进行更改会更为容易。SHOW语句可用来获取数据库和表的几个方面的信息,它有如下用法:DE...
[阅读全文]
-
[组图] MySQL数据库技术(16)
[内容预览]
244 | 2005-09-26 15:48:36
3.6检索记录除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT语句的用途,即帮助取出数据。SELECT大概是SQL语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。SELECT语句的语法如下:除了词“SELECT...
[阅读全文]
-
[组图] MySQL数据库技术(17)
[内容预览]
226 | 2005-09-26 15:48:25
3.7加注释MySQL允许在SQL代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以“#”号开头直到行尾的所有内容都认为是注释。另一种为C风格的注释。即,以“/*”开始,以“*/”结束的所有内容都认为是注释。C风格的注释...
[阅读全文]
-
[组图] MySQL数据库技术(18)
[内容预览]
275 | 2005-09-26 15:48:12
3.8解决方案随笔本节内容相当杂;介绍了怎样编写解决各种问题的查询。多数内容是在邮件清单上看到的解决问题的方案(谢谢清单上的那些朋友,他们为解决方案作了很多工作)。3.8.1将子选择编写为连接MySQL自3.24版本以来才具有子选择功能。这项功能的缺少是MySQL中一件常常令人惋惜的事,但有一件事很多人似乎没有认识到,...
[阅读全文]
-
MySQL数据库技术(19)
[内容预览]
293 | 2005-09-26 15:48:00
3.9MySQL不支持的功能本节介绍其他数据库中有而MySQL中无的功能。它介绍省略了什么功能,以及在需要这些功能时怎么办。一般情况下,MySQL之所以忽略某些功能是因为它们有负面性能影响。有的功能正在开发者的计划清单上,一旦找到一种方法可以实现相应的功能而又不致于影响良好性能的目标,就会对它们进行实现。■子选择。子选...
[阅读全文]
-
[组图] MySQL数据库技术(20)
[内容预览]
329 | 2005-09-26 15:47:49
关系数据库的世界是一个表与集合、表与集合上的运算占统治地位的世界。数据库是一个表的集合,而表又是行和列的集合。在发布一条SELECT查询从表中进行检索行时,得到另一个行和列的集合。这些都是一些抽象的概念,对于数据库系统用来操纵表中数据的基本表示没有多少参考价值。另一个抽象概念是,表上的运算都同时进行;查询是一种概念性的...
[阅读全文]
-
[组图] MySQL数据库技术(21)
[内容预览]
198 | 2005-09-26 15:47:38
4.2MySQL查询优化程序在发布一个选择行的查询时,MySQL进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更详细的信息,可参阅MySQL参考指南中的“GettingMaximumPerformancefromMySQL”,该章描述了MySQL采用的各...
[阅读全文]
-
[图文] MySQL数据库技术(22)
[内容预览]
295 | 2005-09-26 15:47:26
4.3列类型选择与查询效率要选择有助于使查询执行更快的列,应遵循如下规则(这里,“BLOB类型”应该理解为即包含BLOB也包含TEXT类型):■使用定长列,不使用可变长列。这条准则对被经常修改,从而容易产生碎片的表来说特别重要。例如,应该选择CHAR列而不选择VARCHAR列。所要权衡的是使用定...
[阅读全文]
-
[组图] MySQL数据库技术(23)
[内容预览]
190 | 2005-09-26 15:47:15
4.4有效地装载数据很多时候关心的是优化SELECT查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的。然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下:■成批装载较单行装载更快,因为在装载每个记录后,不需要刷新索引高速缓存;可在成批记录装入后才刷新。...
[阅读全文]
-
[图文] MySQL数据库技术(24)
[内容预览]
205 | 2005-09-26 15:47:04
4.5调度与锁定问题前面各段主要将精力集中在使个别的查询更快上。MySQL还允许影响语句的调度特性,这样会使来自几个客户机的查询更好地协作,从而单个客户机不会被锁定太长的时间。更改调度特性还能保证特定的查询处理得更快。我们先来看一下MySQL的缺省调度策略,然后来看看为改变这个策略可使用什么样的选项。出于讨论的目的,假...
[阅读全文]
-
MySQL数据库技术(25)
[内容预览]
216 | 2005-09-26 15:46:53
4.6管理员的优化前面各段介绍了普通的MySQL用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL管理员和系统管理员来完成的优化,这些管理员在MySQL服务器或运行MySQL的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度...
[阅读全文]
-
[图文] MySQL数据库技术(26)
[内容预览]
191 | 2005-09-26 15:46:41
在本书的这部分中,我们将讨论编写自己的访问MySQL数据库的程序所需要知道的内容。MySQL有一组实用程序。例如,mysqldump导出表的上下文和结构定义,mysqlimport将数据文件加载到表中,mysqladmin实现管理w操作,mysql可以使用户与服务器交互来执行任意的查询。每个标准的MySQL实用程序都倾...
[阅读全文]
-
[组图] MySQL数据库技术(27)
[内容预览]
215 | 2005-09-26 15:46:30
5.1MySQL可用的API为了方便应用程序的开发,MySQL提供了用C编程语言编写的客户机库,它允许从任何C程序的内部访问MySQL数据库。客户机库实现应用程序编程接口(API),API定义客户机程序如何建立和执行与服务器的通信。然而,使用C来编写MySQL程序并不受限制。许多其他语言处理器本身也是由C编写的,或具有...
[阅读全文]
-
MySQL数据库技术(28)
[内容预览]
260 | 2005-09-26 15:46:19
5.2选择API本节介绍根据各种类型的应用程序选择API的方法,比较C、DBI和PHPAPI的能力,并给出它们相对的优点和缺点,并指出什么时候应选择哪一个。首先应该指出,笔者不认为任一种语言优于其他语言。尽管笔者的确有自己的喜好,但还是统统使用它们。您也会有自己的喜好,像我的评论家一样。一个评论家会感觉应该强调C对My...
[阅读全文]
-
[组图] MySQL数据库技术(29)
[内容预览]
172 | 2005-09-26 15:46:07
MySQL提供用C编程语言编写的客户机库,可以用它编写访问MySQL的客户机程序。这个库定义了应用程序编程接口,包括下面的实用程序:■建立和终止与服务器会话的连接管理例程。■构造查询的例程,将例程发送到服务器,并处理结果。■当其他CAPI调用失败时,确定错误准确原因的状态和错误报告函数。本章介绍如何用客户机库编写自己的...
[阅读全文]
-
[图文] MySQL数据库技术(30)
[内容预览]
179 | 2005-09-26 15:45:56
6.2客户机程序1—连接到服务器我们的第一个MySQL客户机程序很简单:连接到服务器、断开,并退出。它本身并不是非常有用,但是必须知道如何做它,因为实际上用MySQL数据库做任何事情都必须与服务器连接。这是一个公用的操作,开发创建连接的代码是编写每个客户机程序都将使用的代码。除此之外,这项任务带给我们一些简...
[阅读全文]
-
[组图] MySQL数据库技术(31)
[内容预览]
177 | 2005-09-26 15:45:44
6.3客户机程序2—增加错误检查我们的第二个客户机程序将像第一个客户机程序一样,但是将修改它们,考虑错误出现的可能性。“将错误检查作为读者的练习”这样的项目在编程文献中相当常见,这或许是因为检查错误相当令人讨厌。但是,我赞同这种观点,即MySQL客户机程序应该测试错误条件并适当地进行...
[阅读全文]
-
[组图] MySQL数据库技术(32)
[内容预览]
223 | 2005-09-26 15:45:32
6.4客户机程序3—产生连接代码模块对于我们的第三个客户机程序,即客户机程序3,通过将它封装到函数do_connect()和do_disconnect()中,将使连接和断开代码更加模块化,这样可以很容易地由多个客户机程序使用。这提供一种选择,可将连接代码精确地嵌入到main()函数中。无论如何,对在应用程序...
[阅读全文]
-
[组图] MySQL数据库技术(33)
[内容预览]
241 | 2005-09-26 15:45:20
6.5客户机程序4—在运行时获取连接参数现在我们有了容易修改的防止出现错误的连接代码,我们要了解一些如何做某些比使用NULL连接参数更灵巧的事情,如在运行时允许用户指定一些值。客户机程序3由于固定连接参数方面的缺陷,要想更改那些值中的任何一个,都必须编辑源文件并重新编译。这十分不方便,特别是想使程序用于其他...
[阅读全文]
-
[组图] MySQL数据库技术(34)
[内容预览]
288 | 2005-09-26 15:45:07
6.6处理查询我们已经知道了如何开始和结束与服务器的会话,现在应该看看如何控制会话。本节介绍了如何与服务器通信以处理查询。执行的每个查询应包括以下几步:1)构造查询。查询的构造取决于查询的内容—特别要看是否含有二进制数据。2)通过将查询发送到服务器执行来发布查询。3)处理查询结果。这取决于发布查询的类型。例...
[阅读全文]
-
[图文] MySQL数据库技术(35)
[内容预览]
222 | 2005-09-26 15:44:56
6.7客户机程序5—交互式查询程序让我们把迄今为止研究的诸多内容整理一下,编写一个简单的交互式客户机程序。它的功能包括可以进入查询,用通用目标查询处理程序process_query执行查询,并用前面研究过的显示格式process_result_set()显示查询结果。客户机程序5在某些方面与mysql类似,...
[阅读全文]
-
[组图] MySQL数据库技术(36)
[内容预览]
244 | 2005-09-26 15:44:44
6.8其他主题本节包括几个主题,这些主题不完全适合于本章从client1到client5的开发中的任一小节的内容:■在使用结果集元数据帮助验证这些数据适合于计算之后,使用结果集数据计算结果。■如何处理很难插入到查询中的数据。■如何处理图形数据。■如何获得表结构的信息。■常见的MySQL程序设计错误及如何避免。6.8.1...
[阅读全文]
-
MySQL丢了root密码怎么办
[内容预览]
199 | 2005-09-26 15:44:32
丢了密码是非常痛心的事情,尤其是root密码丢了:(。自己装装玩的丢了也就丢了,但是万一是服务器挂了麻烦可就大了!现在假设是由于被入侵造成的root密码丢失。这里我谈一下我自己对这样一个问题的看法。首先遇到这种问题我们没有必要慌张,整个恢复过程也是很简单的。1下载MySQL源码分发包,不用区分操作系统,我们需要的东西是...
[阅读全文]
-
高手是怎样炼成的:精妙SQL语句介绍
[内容预览]
429 | 2005-09-26 15:44:21
如何从一位菜鸟蜕变成为高手,灵活使用的SQL语句是必不可少的。本文收集了部分比较经典,常用的SQL语句供大家参考,希望对大家有所帮助。 说明:复制表(只复制结构,源表名:a新表名:b) SQL:select*intobfromawhere1<>1 说明:拷贝表(拷贝数据,源表名:a目标表名:b) SQL...
[阅读全文]
-
MYSQL服务维护及应用设计笔记
[内容预览]
194 | 2005-09-26 15:44:10
以下是使用MYSQL服务的一些经验,主要从以下几个方面考虑的MYSQL服务规划设计。 1MYSQL服务的安装/配置的通用性; 2系统的升级和数据迁移方便性; 3备份和系统快速恢复; MYSQL服务器的规划 为了以后维护,升级备份的方便和数据的安全性,最好将MYSQL程序文件和数据分别安装在“不同的...
[阅读全文]
-
SQL导出到MYSQL
[内容预览]
250 | 2005-09-26 15:43:59
从sql导出到mysql的方法很多,现介绍一种无需编程,直接利用sql和mysql里的图形界面进行导入导出的简单方法。 前提是已经安装了sqlserver客户端和mysql的图形界面管理工具phpmyadmin。 在控制台根目录下打开sqlserver企业管理器,新建sqlserver组,根据自己的情况进行...
[阅读全文]
-
怎样在Mysql中直接储存图片
[内容预览]
388 | 2005-09-26 15:43:47
如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。本文概述:在mysql中建立一个新的数据库一个怎样储存文件的例子程序一个怎样访问文件的例子程序在mysql中建立一个新的database...
[阅读全文]
-
Mysql的常用命令
[内容预览]
3878 | 2005-09-26 15:43:35
Mysql的常用命令一、连接MYSQL。格式:mysql-h主机地址-u用户名-p用户密码1、例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL...
[阅读全文]
-
[图文] MySQL数据库技术(11)
[内容预览]
231 | 2005-09-26 15:42:38
为了与MySQL服务器进行通信,必须熟练掌握SQL。例如,在使用诸如mysql客户机这样的程序时,其功能首先是作为一种发送SQL语句给服务器执行的工具。而且,如果编写使用编程语言所提供的MySQL接口的程序时,也必须熟悉SQL语言,因为需要发送SQL语句与服务器沟通。第1章“MySQL与SQL介绍”的教程介绍了许多My...
[阅读全文]
-
[组图] MySQL数据库技术(12)
[内容预览]
219 | 2005-09-26 15:42:27
3.2MySQL的命名规则几乎每条SQL语句都在某种程度上涉及一个数据库或其组成成分。本节介绍引用数据库、表、列、索引和别名的语法规则。名称是区分大小写的,这里也对其进行了介绍。3.2.1引用数据库的成分在用名称引用数据库的成分时,受到可使用的字符以及名称可具有的长度的限制。名称的形式还依赖于使用它们的上下文环境:■名...
[阅读全文]
-
[组图] MySQL数据库技术(13)
[内容预览]
203 | 2005-09-26 15:42:15
3.3创建、删除和选择数据库MySQL提供了三条数据库级的语句,它们分别是:CREATEDATABASE用于创建数据库,DROPDATABASE用于删除数据库,USE用于选择缺省数据库。1.CREATEDATABASE语句创建一个数据库很容易;只要在CREATEDATABASE语句中给出其名称即可:其中限制条件是该数据...
[阅读全文]
-
[组图] MySQL数据库技术(14)
[内容预览]
342 | 2005-09-26 15:42:03
3.4创建、删除、索引和更改表可利用CREATETABLE、DROPTABLE和ALTERTABLE语句创建表,然后,对它们进行删除,更改它们的结构。对于它们中的每一条语句,存在MySQL专有的扩充,这些扩充使各语句更为有用。CREATEINDEX和DROPINDEX语句使您能够增加或删除现有表上的索引。3.4.1CR...
[阅读全文]
-
[图文] MySQL数据库技术(01)
[内容预览]
305 | 2005-09-22 15:38:19
本章介绍MySQL关系数据库管理系统(RDBMS)及其所采用的结构化查询语言(SQL)。文中给出了应该掌握的基本术语和概念,并介绍了本书中使用的样例数据库,提供了怎样利用MySQL创建数据库并对其进行存取访问的指导。在此,如果您对数据库不熟悉,可能还不能肯定是否需要一个数据库或是否能够使用一个数据库。或者,如果您对My...
[阅读全文]
-
MySQL数据库技术(02)
[内容预览]
282 | 2005-09-22 15:38:08
本节介绍一个样例数据库,这个数据库在本书各个部分都可能用到。在学习将MySQL投入工作时,这个数据库为您提供了参考的例子。我们主要从前面描述过的两种情形来给出例子:■机构的秘书方案。我们需要一些比“机构”更为明确的信息,所以现在就来构造一个,它具有这样一些特性:它由为了研究美国历史这个共同目的而聚集在一起的一群人组成(...
[阅读全文]
-
[组图] MySQL数据库技术(03)
[内容预览]
259 | 2005-09-22 15:37:56
您可能会注意到,已经读了本书这么多页,但是还没有看到几句行话和术语。虽然我们大致提了一下怎样利用样例数据库,但事实上,关于什么是“数据库”,我们一点东西都还没有介绍。不过,我们现在打算设计该数据库,然后开始实现它,这样就不能再避而不谈数据库术语了。介绍数据库术语就是本节的目的。本节介绍的一些术语...
[阅读全文]
-
[组图] MySQL数据库技术(04)
[内容预览]
270 | 2005-09-22 15:37:44
现在我们已经具备了所需的所有基础知识;可以将MySQL投入工作了!本节提供一个教程,帮助熟悉MySQL。在完成这个教程时,将创建一个样例数据库和这个数据库中的表,然后增加、检索、删除和修改信息与数据库进行交互。此外,在操作这个样例数据库的过程中,将能学到下列东西:■如何利用mysql客户机程序与MySQL通信。■SQL...
[阅读全文]
-
[组图] MySQL数据库技术(05)
[内容预览]
246 | 2005-09-22 15:37:32
1.4.9删除或更新现有记录有时,希望除去某些记录或更改它们的内容。DELETE和UPDATE语句令我们能做到这一点。DELETE语句有如下格式:DELETEFROMtbl_nameWHERE要删除的记录WHERE子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味着最简单的DELETE语...
[阅读全文]
-
[组图] MySQL数据库技术(06)
[内容预览]
279 | 2005-09-22 15:37:20
1.5与mysql交互的技巧本节介绍怎样更有效地且键入工作量较小地与mysql客户机程序进行交互。介绍怎样更简单地与服务器连接,以及怎样不用每次都从头开始键入查询。1.5.1简化连接过程在激活mysql时,有可能需要指定诸如主机名、用户名或口令这样的连接参数。运行一个程序需要做很多输入工作,这很快就会让人厌烦。有几种方...
[阅读全文]
-
[组图] MySQL数据库技术(07)
[内容预览]
216 | 2005-09-22 15:37:08
根据定义,数据库管理系统的目的就是管理数据。即使一条简单的SELECT1语句也涉及表达式求值以产生一个整型数据值。MySQL中的每个数据值都有类型。例如,37.4是一个数,而“abc”是一个串。有时,数据的类型是明显的,因为在使用CREATETABLE语句时指定了作为表的组成部分定义的每个列的类...
[阅读全文]
-
[组图] MySQL数据库技术(08)
[内容预览]
250 | 2005-09-22 15:36:55
数据库中的每个表都是由一个或多个列构成的。在用CREATETABLE语句创建一个表时,要为每列指定一个类型。列的类型比数据类型更为特殊,它仅仅是如“数”或“串”这样的通用类型。列的类型精确地描述了给定表列可能包含的值的种类,如SMALLINT或VARCHAR(32)。My...
[阅读全文]
-
[组图] MySQL数据库技术(09)
[内容预览]
249 | 2005-09-22 15:36:43
2.3选择列的类型上一节描述了各种可供选择的MySQL的列类型及其属性,以及它们可存储的各种值,所占用的存储空间等等。但是在实际创建一个表时怎样决定用哪些类型呢?本节讨论在做出决定前应考虑的各种因素。最“常用”的列类型是串类型。可将任何数据存储为串,因为数和日期都可以串的形式表示。但是为什么不将...
[阅读全文]
-
[组图] MySQL数据库技术(10)
[内容预览]
257 | 2005-09-22 15:36:29
2.4表达式求值和类型转换MySQL允许编写包括常量、函数调用和表列引用的表达式。这些值可利用不同类型的运算符进行组合,诸如算术运算符或比较运算符。表达式的项可用圆括号来分组。表达式在SELECT语句的列选择列表和WHERE子句中出现得最为频繁,如下所示:所选择的每列给出了一个表达式,如WHERE子句中所示的那样。表达...
[阅读全文]
-
MySQL的存取权限系统
[内容预览]
363 | 2005-09-06 14:56:53
看到很多网友提出关于MySQL登录不上服务器的问题,包括有的是在PHP中调用MySQL时发生的不能登录MySQL数据库服务器的问题,以为是PHP出了问题。其实是MySQL权限的问题。MySQL的权限系统在MySQL的手册中是很长的一章,我把它打印出来足足印了20多页!这里就将我对它的理解简要地写出来,希望能对刚刚接触M...
[阅读全文]
-
MYsql和MS sql7的数据转换
[内容预览]
389 | 2005-09-06 14:56:41
将Mysql数据库转换为MSsql的数据库,或者将Mssql数据库转换为Mysql的数据库,在NT环境下很多时候都会用到。使用MySqlODBC后就比较好办,可以使用MSSQL7的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具这里介绍一个使用SQL7的MMC的方法,将MSsql7的数据转化为Mys...
[阅读全文]
-
如何编写高效的MySQL应用
[内容预览]
294 | 2005-09-06 14:56:30
借助诸如Apach、Perl、PHP和Python等工具,构建一个MySQL应用时很容易的。然而确保它们运行快速,则需要一点洞察力。本文就是你需要知道的东西。MySQL对于成为一个非常快速的数据库服务器有着当之无愧的名声,它也非常容易设置和使用。随着它作为网站后端数据库得声望日增,其效果在去年开始有明显提高。但是很多M...
[阅读全文]
-
MySQL数据库服务器的配置
[内容预览]
1571 | 2005-09-06 14:56:19
随着互联网的发展和自由软件软件的日益活跃,越来越多的人开始将各种数据库应用于自己的网络应用中。于是,各种各样的数据库系统出现在互联网的舞台上,最常见的数据库有O'ReillyNetwork的MySQL和PostgreSQLInc的PostgreSQL,在互联网有着不同的应用和用户群。此外象oracle、sybase、i...
[阅读全文]
-
mysql的本地备份和双机相互备份脚本
[内容预览]
336 | 2005-09-06 14:56:08
自己写的,大家多指教.mysqldump_all.sh[first|local|help}先修改脚本进行必要的配置,然后以root用户执行.1.第一执行远程备份时先用first参数.2.本地备份用local参数3.远程备份不用参数<注意1>注意:需要在另一主机上的Mysql用户用添加用户..需要配置的地方:#defin...
[阅读全文]
-
[图文] MySQL数据库安全配置
[内容预览]
549 | 2005-09-06 14:55:56
1、前言MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序,特别是与PHP更是黄金组合,运用十分广泛。由于MySQL是多平台的数据库,它的默认配置要考虑...
[阅读全文]


