和mysql交互的技巧

2008-02-23 07:40:56来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1.5 和mysql交互的技巧

本节介绍怎样更有效地且键入工作量较小地和mysql客户机程式进行交互。介绍怎样更简单地和服务器连接,连同怎样不用每次都从头开始键入查询。

1.5.1简化连接过程

在激活mysql时,有可能需要指定诸如主机名、用户名或口令这样的连接参数。运行一个程式需要做很多输入工作,这很快就会让人厌烦。有几种方法可最小化所做的键入工作,使连接更为容易,他们分别为:

■ 利用选项文档存储连接参数。

■ 利用外壳程式的命令历史重复命令。

■ 利用外壳程式的别名或脚本定义mysql命令行快捷键。

1. 利用选项文档

自版本3.22 以来,MySQL允许在一个选项文档中存储连接参数。然后在运行mysql时就不用重复键入这些参数了;仅当您曾在命令行上键入过他们时能够使用。这些参数也能够为其他MySQL客户机所用,如为mysqlimport 所用。这也表示在使用这些程式时,选项文档减少了键入工作。为了利用选项文档方法指定连接参数,可建立一个名为~ /.my.cnf (即主目录中的一个名为.my.cnf 的文档)。选项文档是个无格式的文本文档,因此可用任何文本编辑器来创建他。文档的内容所下所示:



[client] 行标记客户机选项组的开始;他后跟的任何行都是为MySQL客户机程式获得选项值准备的,这些行一直沿续到文档的结尾或另一不同的参数组的开始。在连接到服务器时,用指定的主机名、用户名和口令替换serverhost、yourname 和yourpass。对于笔者来说,.my.cnf 如下所示:



只有[client] 行是必须的。定义参数值的行都是可选的;能够仅指定那些所需要的参数。例如,假如您的MySQL用户名和UNIX 的登录名相同,则无需包括user 行。在创建了.my.cnf 文档后,配置其访问方式为某个限定值以确保别人不能读取他:



在Windows 下,选项文档的内容是相同的,但其名称不同( c:\my.cnf),而且不调用chmod 命令。因为选项文档在版本3.22 前未加到MySQL,所以更早的版本不能使用他们。特别是在Windows 下,您不能和共享MySQL分发包一起得到的客户机使用选项文档,因为他是基于MySQL3.21的。选项文档在注册过的MySQL的Windows 版本下工作得很好,否则能够从MySQLWeb 站点取得更新的支持选项文档的客户机。关于选项文档的周详内容可参阅附录E“MySQL程式参考”。

2. 利用外壳程式的命令历史诸如c s h、tcsh 和bash 这样的外壳程式会在一个历史列表中记下您的命令,并允许重复该列表中的命令。假如采用的是这样的外壳程式,其历史列表可帮助免除完整命令的键入。例如,假如最近调用了mysql,可按如下命令再次执行他:% !my 其中“!”告诉外壳程式搜索整个命令历史找到最近以“ my”开头的命令,并像您打入的相同发布他。有的外壳程式还允许利用上箭头和下箭头键(或许是Ctrl-P 和Ctrl - N)在历史列表中上下移动。可用这种方法选择想要的命令,然后按Enter 执行他。tcsh 和bash 有这种功能,而其他外壳程式也可能有。可参阅相应的外壳程式以找到更多使用历史列表的内容。

3. 利用外壳程式的别名或脚本假如使用的外壳程式提供别名功能,那么能够配置允许通过键入简短名调用长命令的命令快捷键。例如,在csh 或tcsh 中,可利用alias 命令配置名为samp_db 的别名,如下所示:



而bash 中的语法稍有不同:



能够定义一个别名使这两个命令等价:



显然,第一个比第二个更好键入。为了使这些别名在每次登录时都起作用,可将在外壳程式配置文档中放入一个alias 命令(如,csh 放入.cshrc,而bash 放入.bash_profile)。快捷键的其他形式是建立利用适当的选项执行mysql的外壳程式脚本。在UNIX 中,等价于samp_db 别名的脚本文档如下所示:



假如笔者命名此脚本为samp_db 并使其可执行(用chmod x samp_db),那么能够键入samp_db 运行mysql并连接到笔者的数据库中。在Windows 下,可用批命令文档来完成相同的工作。命名文档samp_db.bat,并在其中放入如下的行:



此批命令文档可通过在DOS 控制台提示符下键入samp_db 来执行,也能够双击他的Windows 图标来执行。假如访问多个数据库或连接到多个主机,则能够定义几个别名或脚本,每一个都用不同的选项调用mysql。

1.5.2 以较少的键入发布查询

mysql是个和数据库进行交互的极为有用的程式,但是其界面最适合于简短的、单行的查询。当然, mysql自身并不关心某个查询是否分成多行,但是长的查询很不好键入。输入一条查询也不是很有趣的事,即使是一条较短的查询也是如此,除非发现有错误才愿意重新键入他。

有几种可用来避免不必要的键入或重新键入的技巧:

■ 利用mysql的输入行编辑功能。

■ 利用拷贝和粘贴。

■ 以批方式运行mysql。

■ 利用现有数据来创建新记录以避免键入INSERT 语句。

1. 利用mysql的输入行编辑器

mysql具备内建的GNU Readline 库,允许对输入行进行编辑。能够对当前录入的行进行处理,或调出以前输入的行并重新执行他们(原样执行或做进一步的修改后执行)。在录入一行并发现错误时,这是很方便的;您能够在按Enter 键前,在行内退格并进行修正。假如录入了一个有错的查询,那么能够调用该查询并对其进行编辑以解决问题,然后再重新提交他。(假如您在一行上键入了整个查询,这是最容易的方法。)表1-4 中列出了一些很有用的编辑序列,除了此表中给出的以外,更有许多输入编辑命令。利用因特网搜索引擎,应该能够找到R e a d l i n e手册的联机版本。此手册也包含在Readline 分发包中,可在http://www.gnu.org/ 的GN U Web 站点得到。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: MySQL数据类型

下一篇: MySQL的用途