1. AND 和OR 可以混用,但AND 比OR 具有更高的优先级。如果你使用两个操作符,使用圆括号指明如何对条件进行分组.
2. 在字符类型列上,对于等同但大小写不同的列,并未定义其顺序。对于某一列,可以使用BINARY 强制执行区分大小写的分类功能,如:ORDER BY BINARY col_name .
3. 默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC (降序 )关键字.注意DESC关键字仅适用于在它前面的列名.
4 . 执行ORDER BY时,如果运行 ORDER BY ... ASC,则NULL值出现在最前面,若运行ORDER BY ... DESC,则NULL值出现在最后面。
5. 定义为NOT NULL的列内可以 插入0或空字符串。
6. SQL模式匹配允许你使用“_” 匹配任何单个字符,而“%” 匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写 的。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符 。
7. MySQL还提供扩展正则表达式的模式匹配,使用REGEXP和NOT REGEXP操作符。
扩展正则表达式的一些字符是:
- ‘.’ 匹配任何单个的字符。
- 字符类“[...]” 匹配在方括号内的任何字符。例如,“[abc]” 匹配“a” 、“b” 或“c” 。为了命名字符的范围,使用一个“-” 。“[a-z]” 匹配任何字母,而“[0-9]” 匹配任何数字。
- “ * ” 匹配零个或多个在它前面的字符。例如,“x*” 匹配任何数量的“x” 字符,“[0-9]*” 匹配任何数量的数字,而“.*” 匹配任何数量的任何字符。
如果REGEXP模式与被测试值的任何地方匹配,模式就匹配。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^” 或在模式的结尾用“$”。
8. 数据查询的格式:
SELECT [ALL|DISTINCT] <目标列表达式>,``````
FROM <表名或试图名>,``````
[WHERE <条件表达式>]
[GROUP BY <列名1> [HAVING <条件表达式>]]
[ORDER BY <列名2> [ASC|DESC]];
注意:GROUP BY 和 ORDER BY 的顺序不能颠倒,否则语法错误!
9. 获得数据库和表的信息
-
获得当前数据库
mysql> SELECT DATABASE();
-
获得当前数据库中的表信息
mysql> SHOW TABLES;
-
获得表的结构
mysql> DESCRIBE table_name;
Field 显示列名字,Type 是列的数据类型,Null 表示列是否能包含NULL 值,Key 显示列是否被索引而Default 指定列的默认值。
-
获得索引信息
mysql>SHOW INDEX FROM table_name;
10. sql脚本运行
-
在命令行输入:
shell> mysql < batch-file [ > mysql.out ] // 捕获输出到mysql.out
-
在mysql提示符输入:
mysql> source filename;
mysql> /. filename;