MySQL十条特殊技巧
发布时间:2007-09-17 12:33:00
内容摘要:MySQL易学易用,附带丰富的技术文档,这两个因素使之被广泛应用。然而,随着MySQL发展加快,即使一个MySQL老手有时也会为该软件出其不意的功能感叹。本文将为你介绍这些不为人知的特性。 以XML格式查看查询结果
通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看。
MySQL查询结果
如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:
表A
shell> mysql --xml
mysql> Select * FROM test.stories;
1
This is a test
2
This is the second test
2rows 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密码:mysqladmin -u root -p password 123456mysqladmin -u用户名 -p旧密码
- 一、实现#tmp表内容如下:实现group_concat的sql语句为:SelectRegionID,STUFF((SELECT '
- 这几天在学习PyQt编程,用CSDN来记录一下学过的东西,免得以后忘记了大笑import sys from PyQt4 import QtG
- 一:input()函数的输入机制我们编写的大部分程序,都需要读取输入并对其进行处理,而基本的输入操作是从键盘键入数据。Python从键盘键入
- 大家既然能看到这个视频,说明大家对跨域已经有了一定的理解,所以这里就不花功夫对跨域进行详细的介绍了1. 首先扩展一点,axios在本地发送的
- 例如有这么一个查询语句:select * from server where ip in (....)同时一个存放ip 的列表 :['
- 什么是进程进程就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅
- 有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实
- 同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂!概述首先主服务器把数据变化记录到主日志,然后从服务
- 安装方法:Windows:在终端输入命令:pip install scrapy;mac:在终端输入命令:pip3 install scrap
- 我就废话不多说了,直接上代码吧!import syssys.path.append("..")from datetime
- URLURL 是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有
- 这篇博客将介绍如何使用Python,Opencv进行二维直方图的计算及绘制(分别用Opencv和Numpy计算),二维直方图可以让我们对不同
- 使用setStyleSheet方法修改得到自己想要的字体,大小,颜色self.lab = QLabel("标签字体大小颜色&quo
- 当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$AR
- 下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。1. 字典推导(Dictionary compreh
- 使用正则库爬取淘宝商品的商品信息,首先我们需要确定想要爬取的对象我们在淘宝里搜索“python”,出来的结果从url连接中可以得到搜索商品的
- 额……首先呢说说这个标题吧,实在不知道叫什么好,因为这个demo呢其实一个艾文王今天中午给丢给我一个图。他说这个是一个面试题,给我看看。这样
- windows系统MySQL安装教程下载1.登录https://dev.mysql.com/downloads/installer/选择Mi
- 前言让我的电脑认识我,我的电脑只有认识我,才配称之为我的电脑!今天,我们用Python实现简单的人脸识别技术!Python里,简单的人脸识别