[MySQL] 常用SQL技巧--18.5

1.正则表达式使用

  MySQl利用REGEXP命令,提供正则表达式功能。

 

例子:select 'abcdef' REGEXP '^a';

   select 'efg' REGEXP '[^XYZ]';

 

2. 用RAND()函数提取随机行

 

  使用RAND()函数从表中随机抽取记录行,这对一些抽样分析统计非常有用。

例如:select * from category order by rand() limit 5;

 

3. 利用group by的with rollup子句做统计报表

 

  在SQL语句中,使用group by的with rollup子句可以检索出更多的分组聚和信息;方便做报表。

 

 

4. 数据库名、表名大小写的问题

  在MySQL中,数据库对应操作系统下的数据目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于

存储引擎)。因此,操作系统大小写敏感性决定了数据库名和表名对大小写的敏感性(触发器和表别名也敏感)。

  大多数Unix操作系统对大小写敏感,区分大小写;而在Windows中,对大小写不敏感,不区分大小写。

  列、索引、存储过程(不包括触发器)在任何平台上对大小写都不敏感。

  建议将库名,表名,触发器名,别名统统写成小写,并在参数中设置lower_case_tables_name=1;

Use lower_case_table_names=1 on all systems. The main disadvantage with this is that when you use SHOW TABLES or SHOW DATABASES, you do not see the names in their original lettercase.

 

 

  

posted @ 2016-09-27 11:47  Devops达人  阅读(320)  评论(0编辑  收藏  举报