e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> Mssql教程 >> 你知道MySQL10条鲜为人知的技巧吗? >> 教程正文
 
教程搜索
 
 
相关教程
  • 你知道MySQL10条鲜为人知
  • 你应该知道的10个MySQL客
  • 用特殊的MySQL运算符获得
  • MySQL数据库中与 NULL值有
  • 教你快速了解公共MySQL的
  • MySQL 5.0在windows上的安
  • MySQL查询的性能优化
  • Linux操作系统中如何安装
  • 23道安全门加铸MySQL数据
  • MySQL 5.0 数据库新特性的
  • 从Windows命令行启动MySQ
  • 连接MySQL数据库失败频繁
  • 加速动态网站 MySQL索引分
  • 轻松掌握如何保护MySQL中
  • 快速掌握MySQL数据库中Sh
  • MySQL数据库的安全配置实
 
 
赞 助 商
 
 
你知道MySQL10条鲜为人知的技巧吗?
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2008-2-25

  MySQL易学易用,且附带丰富的技术文档,这二个因素使之被广泛应用。然而,随着MySQL发展之迅速,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。

  以XML格式查看查询结果

  通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看MySQL查询结果。如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:

  表A

  shell> mysql --xml

  mysql> SELECT * FROM test.stories;

  

  

  

  1

  This is a test

  2005-07-28 00:14:57

  

  

  2

  This is the second test

  2005-07-28 00:15:11

  

  

  2 rows in set (0.11 sec)

  快速重建索引

  通常情况下,如果你想改变服务器的全文搜索变量,你需要在表格中重新建立全文索引,以确保你的更新得到映射。这一操作将会花费大量的时间,特别是如果你需要处理很多数据的时候。一种快速的解决方法是使用REPAIR TABLE命令,以下为演示过程:

  表B

  mysql> REPAIR TABLE content QUICK;

  +-----------+--------+----------+----------+

  | Table| Op| Msg_type | Msg_text |

  +-----------+--------+----------+----------+

  | content| repair | status| OK|

  +-----------+--------+----------+----------+

  1 row in set (0.05 sec)

  压缩一定的表格类型

  如果你处理的是只读MyISAM表格,MySQL允许你将其压缩以节省磁盘空间。对此可以使用包括myisampack,如下所示:

  表C

  shell> myisampackmovies.MYI

  Compressing movies.MYD: (146 records)

  - Calculating statistics

  - Compressing file

  41.05%

  使用传统SQL

  MySQL支持SQL查询中的传统用法,支持IF与CASE结构。以下是一个简单的例子:

  表D

  mysql> SELECT IF (priv=1, 'admin', 'guest') As usertype FROM privs WHERE username = 'joe';

  +----------+

  | usertype |

  +----------+

  | admin|

  +----------+

  1 row in set (0.00 sec)

  以CSV格式输出表格数据

  MySQL输出文件包含一个全部SQL命令列表。如果你想将输出文件导入到MySQL,这一功能非常实用,但如果目标程序(比如Excel)不能与SQL相互通讯,这一方法将行不通。在这种情况下,可以通过告诉MySQL以CSV格式建立输出文件,这种CSV格式很方便地导入到绝大部分的程序。这里演示了mysqldump的操作过程:

  shell> mysqldump -T . --fields-terminated-by=", " mydbmytable

  这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。

  以激活strict模式减少“bad”数据的出现

  MySQL服务器能够以多种不同的模式运行,而每一种都针对于特定的目的而优化。在默认情况下,没有设置模式。然而,通过在服务器命令行中添加以下选项可以很容易地改变模式的设置并将MySQL以“strict”模式运行:

  shell> mysqld --sql_mode="STRICT_ALL_TABLES" &

  在“strict”模式下,通过MySQL的中止查询执行并返回一个错误,服务器的很多自动修正功能都被无效化。同样,该模式下也将会执行更为严格的时间检查。

  监视服务器

  你可以通过运行SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。例如:

  表 E

  mysql> SHOW STATUS;

  +------------------+-------+

  | Variable_name| Value |

  +------------------+-------+

  | Aborted_clients| 0|

  | Aborted_connects | 0|

  ...

  | Uptime| 851|

  +------------------+-------+

  156 rows in set (0.16 sec)

  自动返回CREATE TABLE代码

  MySQL允许你自动获得SQL命令重新建立一个特定的表格。只简单地运行SHOW CREATE TABLE命令,并查看表格建立代码,如下所示:

  表 F

  mysql> SHOW CREATE TABLE products;

  -----------------------------------------------------

  | Table| Create Table

  +----------+-----------------------------------------

  | products | CREATE TABLE `products` (

  `id` int(8) NOT NULL auto_increment,

  `name` varchar(255) NOT NULL default '',

  `price` int(10) default NULL,

  PRIMARY KEY(`id`)

  ) ENGINE=MyISAM DEFAULT CHARSET=latin1 |

  +----------+-----------------------------------------

  1 row in set (0.27 sec)

  建立一个更为有用的命令提示:

  在缺省情况下,MySQL命令行客户程序显示一个简单的mysql>提示符。然而,你可以使用特定的修改内容来改变这一提示符使之变得更为有效,这些内容包括:当前用户名称,主机名称,以及当前选择的数据库。如下所示:

  表 G

  mysql> prompt U:/d>

  PROMPT set to 'U:/d>'

  root@localhost:/db1>

  从这里的文档文件你可以获得支持MySQL客户程序更改的一个完整列表。

  • 上一篇教程: 你应该知道的10个MySQL客户启动选项
  • 下一篇教程: 没有了
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.