MySQL 常用SQL技巧和常见问题

一、巧用正则表达式

二、巧用RAND() 提取随机行

  利用rand() 的随机数功能,结合 order by 子句完成随机抽取某些行的功能。

三、利用 group by 的 with rollup 子句做统计

  注意:rollup子句与order by子句互相排斥。

四、数据库名、表名大小写问题

  操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。Windows对大小写不敏感。

  列、索引、存储字程序和触发器在任何平台对大小写不敏感。

  MySQL中如何在硬盘上保存和使用表名和数据库名由 lower_case_tables_name 系统变量决定,可在启动时设置此变量。

五、外键只针对InnoDB引擎的数据表有效。

时间: 2024-10-16 13:47:41

MySQL 常用SQL技巧和常见问题的相关文章

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

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

[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语句中,使用gr

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

性能测试常用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)以某一个字段为维度统

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. 切换到我

剑指架构师系列-MySQL常用SQL语句

(1)分清HAVING与WHERE的区别: HAVING 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面.WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 GROUP BY 子句所产生的组施加条件. 以下的SQL语句都是基于MySQL5.6.30版本. 1.查询"1"课程比"2"课程成绩高的所有学生的学号 select a.Sno from (select Sno,score from SC where Cno=1 ) as