MySQL鲜为人知的几个特殊技巧
作者:佚名 来源:IT专家网 发布时间:2009-03-09 13:22:00
以XML格式查看查询结果
通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看。
MySQL查询结果
如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:
表A
shell> mysql --xml mysql> SELECT * FROM test.stories;1This is a test2This is the second test2rows 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 file41.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
Emysql> 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>
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 一年一度的双十一就快到了,各种砍价、盖楼、挖现金的口令将在未来一个月内充斥朋友圈、微信群中。玩过多次双十一活动的小编表示一顿操作猛如虎,一看
- 今天在一个QQ群中看到有人在问一个进度条的实现方式,当时因为工作时间,需求相对也比较紧,只是简单的说了一下可以通过CSS的边框属性和背景属性
- 今天在看罗素的《西方哲学史》时,忽然想到了这个想法,我认为可以从另外一个角度来看“用户体验“的影响因素。上面这个图是我今天思考的一部分,这是
- 我就废话不多说了,大家还是直接看代码吧~type Wait interface { // Register waits returns a
- WinForm 中添加 openFileDialog Button, WinForm .cs 中添加本地.mdf,如下:using Syst
- 一、正则表达式的特殊字符介绍正则表达式^ 匹配行首 &nb
- 我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连
- 在查看Mysql对文件的操作中,它在不同的操作系统上对文件的操作,除了使用标准C运行库函数,包括open、close、seek等,在Win3
- 服务:# chkconfig --list 列出所有系统服务# chkconfig --list | grep o
- 如下所示:# -*- coding:utf8 -*-import osimport shutilimport numpy as npimpo
- 前言:在 Go 语言中,同时声明多个常量、变量,或者导入多个包时,可采用分组的方式进行声明。例如下面的代码:import "fmt
- 前言在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你
- 本文程序针对Python选课系统进行开发,供大家参考,具体内容如下角色:学校、学员、课程、讲师要求:1. 创建北京、上海 2 所学校2. 创
- 大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量搞得头大。首先我们写一段非常简单的Python代码,它的作用
- '************************************* '读取文件 &
- 代码:hello.py#!/usr/bin/python# coding: utf-8# hello.pydef application(e
- Oracle RAC提供两种方式实现负载均衡,第一种是纯技术手段,即在用户连接时,根据系统当前的负载情况决定由哪个节点处理用户请求;第二种是
- 使用python网络爬虫登录12306,网站界面如下。因为网站的反爬是不断升级的,以下代码虽然当前可用,但早晚必将会不再能满足登录需求。但是
- 如果使用的是matplotlib绘图,可以通过以下命令更改图片的大小:%matplotlib linline如果是 plt.figure(f
- 本文借用HTML的css语法,将样式表应用到窗口部件。这里只是个简单的例子,实际上样式表的语法很丰富。以下类似于css: StyleShee