My SQL数据库实用技术(26)
时间:2007-12-23 来源:不详 作者:迈克DB
在本书的这部分中,我们将讨论编写自己的访问MySQL 数据库的程序所需要知道的内容。MySQL 有一组实用程序。例如, mysqldump 导出表的上下文和结构定义, mysql import将数据文件加载到表中, mysqladmin 实现治理w操作, mysql 可以使用户与服务器交互来执行任意的查询。每个标准的MySQL 实用程序都倾向于小巧,重点放在程序可完成特定的、有限的功能。即使mysql 也是如此,从感觉上说, mysql 比其他实用程序更灵活,因此可以用它来执行任何数量的各种查询,即它就是为答应向服务器直接发布SQL 查询,并可查看查询结果这一单一目的而设计的。
MySQL 客户机这种有限的特性并不是缺点,而是特意设计的。程序是具有通用目的的实用程序;它们并不试图预料您所想做的所有可能的需要。MySQL 的开发者们不赞成编写大型的、臃肿的程序来试图做可能想去做的每件事情(而且这样做的结果将使程序中包括大量的
您根本不关心的事情的代码)。然而,有时有些应用确实有常规客户机的能力所无法处理的需求。为了处理这些情况,MySQL 提供一个客户机编程库。这答应您编写自己的程序,满足您的应用程序可能具有的任何特定需求。通过答应您对MySQL 服务器的访问,客户机的开放
程度只受您自己想象力的限制了。
本文来自织梦
编写自己的程序可以获取如何非凡的能力呢?让我们比较一下mysql 客户机和其没有附加代码的接口对MySQL 服务器的访问:
■ 可以定制输入处理。用mysql可以输入原始的SQL 语句。用自己的程序,可以为用户提供使用起来更直观、更轻易的输入方法。用程序可使用户不必知道S Q L—甚至不必知道在完成的任务中数据库承担的角色。
输入信息的采集可能是像命令行风格的提示和值读取这样基本的方式,或者可能是使用屏幕治理程序包(如curses 或S - L a n g)、使用Tcl/Tk 的X 窗口或Web 浏览器格式实现的基于屏幕输入那样复杂的方式。
对大多数人来说,通过填写一定的格式来指定搜索参数的形式比通过发布SELECT语句更轻易。例如,一位房地产经纪人,要寻找一定价格范围、风格或位置的房屋,只要将查寻参数输入到表格中,就可以最小的代价得到符合条件的内容。输入新记录或更新已有记录也类似地考虑这种应用。在数据输入部门的键盘操作员应该不需要知道像INSERT、REPLACE 或UPDATE 这样的SQL 语法。
在最终用户和MySQL 服务器之间提出输入采集层的另一个原因是可以校验用户提供的输入。例如,可以检查数据,确认它们是符合MySQL 要求的格式,或可以要求填写特定的区域。
■ 可以定制输出。mysql 的输出基本上是无格式的;可以选择以制表符为分隔符或以表格形式输出。假如想要使输出结果看起来比较好,则必须自己对它进行格式化。这些需求可能像打印“Missing”而不是NULL 这样简单,也可能更复杂。考虑下面的报告:
dedecms.com
这个报告包括几个特定的元素:
■ 定制标题。
■ 在State 列中重复值的抑制以便只在更改时才将这些值打印出来。
■ 小计和总计的计算。
■ 数字格式,如9 4 3 8 4 . 2 4,打印为美元数量为$ 9 4 , 3 8 4 . 2 4。对于一些任务,甚至可能不需要任何输出。您可能正在对计算向后插入到另一个数据库表中的结果进行简单地检索信息。除了用户运行这个查询以外,甚至可能还想将这个结果输出到其他地方。例如,假如正在提取姓名和电子邮件地址以自动地填入为批量电子邮件生成信件格式的过程中,则程序产生输出。但是该输出由邮件接受者的信息组成,而没有运行程序人员的信息。
■ 可以在S Q L自身施加的约束条件的环境下工作。SQL 不是一种带有条件选择、循环和子例程的流程控制结构的过程语言。SQL 脚本包括一组从开始到结束一次一个的可执行语句,具有最低限度的错误检查。
上一篇:My SQL数据库实用技术(25) 下一篇:My SQL数据库实用技术(27)
文章评论
共有位Admini5网友发表了评论 查看完整内容