[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.

  

时间: 2024-10-07 03:00:25

[MySQL] 常用SQL技巧--18.5的相关文章

MySQL 常用SQL技巧和常见问题

一.巧用正则表达式 二.巧用RAND() 提取随机行 利用rand() 的随机数功能,结合 order by 子句完成随机抽取某些行的功能. 三.利用 group by 的 with rollup 子句做统计 注意:rollup子句与order by子句互相排斥. 四.数据库名.表名大小写问题 操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性.Windows对大小写不敏感. 列.索引.存储字程序和触发器在任何平台对大小写不敏感. MySQL中如何在硬盘上保存和使用表名和数据库名由 low

MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)

以基本的学生选课为例,建立选课数据库,学生.班级.选课信息三张表,并分别对表进行插删改操作: import MySQLdb try: conn = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'xuanke', port = 3306) cur = conn.cursor() cur.execute("CREATE DATABASE xuanke") cur.execute("

Mysql常用sql语句(一)- 操作数据库

21篇测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 需要注意,创建数据库和创建表的语句博文都在前面哦,整个系列都是相互关联的哈,需要用到前面创建的数据库和表哦 前言 针对数据库的操作语句叫做数据定义语言(DDL)   数据库有哪些操作呢? 创建数据库 查询数据库 修改数据库 删除数据库 选择数据库 简称“增删改查“,点击右边目录即可跳转哦! ----

Mysql常用sql语句(二)- 操作数据表

21篇测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 需要注意,创建数据库和创建表的语句博文都在前面哦 整个系列都是相互关联的哈,需要用到前面创建的数据库和表哦(系列博文第一篇和第二篇) 前言 针对数据表的操作语句叫做数据定义语言(DDL)   数据表有哪些操作? 创建数据表 查看表结构 查看数据表的创建语句 复制数据表 修改数据表 删除数据表 简称“

mysql常用sql及常用命令

一.常用sql语句: 1.查询: select * from table where 1 = 1 2.增加: insert into table(name,age) values("张三",25) 3.删除: delete from table where 1 = 1 4.修改: update table set field1=value1 where 1 = 1 5.模糊查询:like关键字 select * from table where name like ’%张*%’ 6.排

[MySQL] 常用SQL的优化--18.4

这里介绍下,Insert.Group By等SQL语句的优化方法: 1.大批量数据插入 当load命令导入数据的时候,可以进行适当的设置提高导入速度. 1.1 对于MyISAM表,可以先禁用非唯一索引更新,再导入数据来快速导入大量的数据. alter table table_name disable keys; load date infile 'xxx.txt' into table_name; alter table table_name enable keys; 1.2 对于InnoDB表

《深入浅出Mysql》——第三篇 优化篇 第十七章 常用SQL技巧和常见问题 + 第十八章 SQL优化 + 第十九章 优化数据库对象

可以利用这个函数与ORDER BY子句一起完成随机抽取某些行的功能.它的原理其实 就是ORDER BY RAND()能够把数据随机排序. 加索引 CHECK TABLE 也可以检查视图是否有错误,比如在视图定义中被引用的表已不存在,举例如 下. 原文地址:https://www.cnblogs.com/JasonPeng1/p/12234426.html

MySQL常用SQL语句综述

简述 之前一直使用的django的orm模型,最近想学习下原生sql语句的编写.以后工作中可能不使用django,为了更好的工作和提高自己的知识全面点,记录下常用的sql语句编写. 一.创建.删除.选择数据库 1. 如果数据库不存在就创建 CREATE DATABASE IF NOT EXISTS blog CHARACTER SET utf8 COLLATE utf8_general_ci; 2. 如果数据库存在就删除 DROP DATABASE IF EXISTS blog; 3. 切换到我

性能测试常用sql技巧_Oracle

做了一段时间的性能测试,把自己在性能测试过程中,使用到的Oracle中用到的sql语句整理一番,做个备忘: (1)多个字段以某种格式拼接 "||"字符串拼接符; 示例:将"id"及"code"用逗号拼接: select t.id||','||t.code from OTable t; 备注:MySQL中使用 concat()函数,select concat(t.id,',',t.code) from MTable t; (2)以某一个字段为维度统