1. DBMS 分为两类

(1)基于共享文件系统的DBMS(Microsoft Access)

(2)基于客户机-服务器的DBMS

2. 返回数据库可用表的列表

desc customers/describe orders/show columns from customers;

3. show status 显示广泛的服务器状态信息

4. show create database/show create table 显示创建特定数据库或表的MySQL语句。

5. show grants for/show grants for root@127.0.0.1显示授予用户的安全权限。

6. show errors 和 show warnings 显示服务器错误或警告信息。

7. select version();

8. select database();

9. 去除重复 select distinct vend_id from products;

select vend_id from products group by vend_id;

distinct 应用于所有的列。不能不分使用。

select distinct vend_id, prod_price from products;

10. 限制结果 limit

select prod_name from products limit 5; = select prod_name from products limit 0, 5;

带一个值的limit 总是从第一行开始,给出的数为返回的行数。

带两个值的limit可以指定从行号为第一个值的位置开始。

MySQL 5 支持 LIMIt 4 OFFSET 3 从第3行开始取4行

select prod_name from products limit 1 offset 0;

11. 使用完全限定名(列的完全限定名和表的完全限定名)

select products.prod_name from sqltest2.products;

12. 关系数据库的理论认为,如果不明确规定排序的顺序,则不应该嘉定检索出来的数据的顺序有意义。

13. 用非检索的列排序是完全合法的。

14. 排序方向

DESC 降序排列

ASC 升序排列

select prod_id, prod_price, prod_name from products

order by prod_price desc, prod_name;

15. order by 和 limit 组合可以找出一个列中最高或最低的值。

select prod_price from products order by prod_price desc limit 1;

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

| prod_price |

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

| 55 |

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

16. select prod_name, prod_price from products where prod_name = 'fuses';

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

| prod_name | prod_price |

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

| Fuses | 3.42 |

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

MySQL 在执行匹配时默认不区分大小写

17. NULL 值检测。

select prod_name from products where prod_price is null;

18. AND 的优先级高级 ORIN 操作符

select prod_name, prod_price from products where vend_id in (1002, 1003);

19. NOT 用来否定之后的所有条件。MySQL 支持对IN、BETWEEN、EXISTS 字句取反

select prod_name, prod_price from products where vend_id not in (1002, 1003);

20. % 通配符不能匹配NULL

where prod_name like '%' 不能匹配用值NULL作为产品名的行

21. (_) 下滑线匹配单个字符。

22. 使用正则表达式过滤(REGEXP 可以用来匹配整个列值,使用定位符 ^或$)

select prod_name from products where prod_name regexp '1000' order by prod_name;

select prod_name from products where prod_name regexp '.000' order by prod_name;

正则表达式的匹配部区分大小写。为区分大小写可使用BINARY关键字。

select prod_name from products where prod_name regexp binary 'JetPack .000' order by prod_name;

进行OR 匹配

select prod_name from products where prod_name regexp '1000|2000' order by prod_name;

匹配几个字符之一,用[] 表示。[^123] 表示不包含

select prod_name from products where prod_name regexp '[123] Ton' order by prod_name;

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

| prod_name |

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

| 1 ton anvil |

| 2 ton anvil |

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

匹配范围

0到9 [123456789] 或 [0-9] [a-z]

select prod_name from products where prod_name regexp '[1-5] Ton' order by prod_name;

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

| prod_name |

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

| .5 ton anvil |

| 1 ton anvil |

| 2 ton anvil |

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

匹配特殊字符,需要添加前导 \\(MySQL 的特殊要求)

select prod_name from products where prod_name regexp '\\.' order by prod_name;

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

| prod_name |

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

| .5 ton anvil |

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

\\f换页

\\n换行

\\r回车

\\t制表

\\v纵向制表

select prod_name from products where prod_name regexp '\\([0-9] sticks?\\)' order by prod_name;

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

| prod_name |

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

| TNT (1 stick) |

| TNT (5 sticks) |

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

匹配连在一起的4位数字

select prod_name from products where prod_name regexp '[[:digit:]]{4}' order by prod_name;

select prod_name from products where prod_name regexp '[0-9]{4}' order by prod_name;

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

| prod_name |

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

| JetPack 1000 |

| JetPack 2000 |

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

定位符

^文本开始

$文本结尾

[[:<:>

[[:>:]]词的结尾

找出以一个数开始的所有产品(包括小数点)

select prod_name from products where prod_name regexp '^[0-9\\.]' order by prod_name;

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

| prod_name |

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

| .5 ton anvil |

| 1 ton anvil |

| 2 ton anvil |

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

简单的正则表达式测试

select 'hello'regexp '[0-9]';

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

| 'hello'regexp '[0-9]' |

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

| 0 |

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

分享到:

2014-04-16 15:07

浏览 486

分类:数据库

评论

最新文章

  1. RDKit | 基于RDKit从分子中提取3D药效团特征
  2. 第十八课.动态图模型
  3. document.all用法(js)
  4. 详解线程本地变量ThreadLocal
  5. C# 多线程及同步简介示例
  6. [转载]常用正则表达式收集勘误
  7. SFML图形库学习:环境部署
  8. VBS好玩的整人小程序
  9. BAT机器学习面试题
  10. 电子设计(4)高电平、低电平复位电路
  11. 认知学习:当代学习理论的主流
  12. 【HTML】网页的基本结构
  13. DEM数据(ASTER GDEM|SRTM|GLS2005|ALOS DEM|NASA DEM)下载
  14. 安全:金融信息化的命脉
  15. matlab怎么对语音信号取样,语音信号采样和频谱分析
  16. 海伦公式计算三角形面积 C++
  17. 吉林计算机专业二本大学排名,吉林有哪些好二本大学?
  18. 神经网络入门书籍推荐,神经网络入门经典书籍
  19. aomei动态磁盘管理器_程序员需要了解的硬核知识之磁盘
  20. 热量传递的三种基本方式

热门文章

  1. pybind播放视频
  2. class pybind11::module 没有成员 def
  3. NoBrokersAvailableError
  4. Android Studio Gradle优化方法
  5. VLC搭建RTSP服务器的过程 -测试通过
  6. OpenGL与OpenCV实现增强现实
  7. OpenMP在ARM-Linux以及NDK中的编译和使用
  8. 渗透知识-编译器漏洞
  9. linux 新开窗口到最前,怎么设置一个窗口总是在电脑桌面的最前
  10. java jdbc 链接pg_Java零基础教程