
SQL
文章平均质量分 55
MySQL
_popo_
这个作者很懒,什么都没留下…
展开
-
牛客网SQL试题库(中等)
SQL16 统计每个工种的员工平均工资试题连接select titles.title,AVG(salaries.salary)from titles inner join salarieson titles.emp_no = salaries.emp_nogroup by titles.titleorder by AVG(salaries.salary) asc分析:使用内连接,连接两个表,成为新表再工种用分组,再计算每个组的 AVG(salary)SQL19:查找员工的姓名以及部原创 2021-09-10 14:26:45 · 184 阅读 · 0 评论 -
牛客网SQL试题库(简单)
SQL2:查找入职时间较晚(排名倒数第三)的员工所有信息//方法一select * from employeesorder by hire_date DESClimit 2,1//方法二select * from employees where hire_date = ( select distinct hire_date from employees order by hire_date desc limit 2,1)分析:distinct 排除了入职时间重复的行ord.原创 2021-09-10 13:45:28 · 411 阅读 · 0 评论 -
[ MySql ] DATE_SUB 、DATE_ADD日期正负间隔函数
文章目录参考资料:MySQL date_sub()函数场景:当前是 2020-10-30 17:20:00我要查询一个月内的数据# 30天前至今的数据# DATE_SUB(date,interval x type),在date时间上减去xx天,xx月等。SELECT NOW();# 返回格式2020-10-30 17:04:21SELECT * FROM test WHERE time_date>DATE_SUB(NOW(),INTERVAL 30 DAY);# 间隔原创 2020-10-30 17:26:16 · 694 阅读 · 0 评论 -
《MySQL必知必会》第6篇:游标、触发器
文章目录一、使用游标1. 创建游标2. fetch 语句二、触发器1. 什么是触发器2. 创建触发器3. 删除触发器4. insert触发器5. delete 触发器6. UPDATE触发器7. 注意事项一、使用游标1. 创建游标declare 游标名 cursorforselect 检索语句create procedure processorders()begindeclare ordernumbers cursorforselect order_num from orders;原创 2020-08-05 13:56:08 · 422 阅读 · 0 评论 -
《MySQL必知必会》第9篇:事务与隔离级别
文章目录一、数据库设计原则1 . 三大范式二、事务3.1 四大特性 ACID3.2 事务的隔离级别3.3 修改隔离级别的方法3.4 事务的使用事务保留点 savepoint一、数据库设计原则1 . 三大范式1NF : 每一列都是不可分割的原子数据项2NF:在1NF的基础上,非码属性必须完全依赖于码(在1NF基础上消除非主属性对主码的部分函数依赖)第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)3NF : 在2NF基础上,任何非主属性不依赖于其它原创 2020-08-04 16:24:21 · 222 阅读 · 0 评论 -
《MySQL必知必会》第8篇:存储过程、函数
一、变量2. 自定义变量分为用户变量、自定义变量说明:变量由用户自定义,而不是系统提供的使用步骤:1、变量声明2、变量赋值3、变量使用(查看、比较、运算等)用户变量注意:变量名前加 @-- 赋值操作符:=或:=-- 声明并初始化SET @变量名=值;SET @变量名:=值;SELECT @变量名:=值;-- 赋值(更新变量的值)-- 方式一: SET @变量名=值; SET @变量名:=值; SELECT @变量名:=值;-- 方式二: SELECT 字段 IN原创 2020-08-04 16:23:40 · 234 阅读 · 0 评论 -
《MySQL必知必会》第5篇:视图
一、视图1. 什么是视图视图是虚拟的表。与包含数据的表不一样,视图只包含动态检索的 select 查询语句的逻辑。视图和表的区别:语法不同 ,一个叫 table、一个叫 viewview 不保存数据,不为数据开辟空间,只是保存了sql逻辑,table保存实际字段数据2. 为什么使用视图我们已经看到了视图应用的一个例子。下面是视图的一些常见应用。重用SQL语句。简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。使用表 的组成部分而不是整个表。保护数据原创 2020-08-04 16:22:37 · 296 阅读 · 0 评论 -
牛客网SQL实战刷题笔记
SQL1:查找最晚入职员工的所有信息使用子查询select * from employeeswhere hire_date =(select max(hire_date) from employees)SQL2:查找入职时间较晚(排名倒数第三)的员工所有信息select * from employees where hire_date = ( select distinct hire_date from employees order by hire_date desc limit原创 2020-08-03 14:37:14 · 968 阅读 · 0 评论 -
《MySQL必知必会》第4篇:全文本搜索
第十八章、全文本搜索1. 全文本搜索的使用这些列中有一个名为 note_text 的列,为了进行全文本搜索,MySQL根据子句 FULLTEXT(note_text) 的指示对它进行索引。这里的FULLTEXT 索引单个列,如果需要也可以指定多个列。在定义之后,MySQL自动维护该索引。在增加、更新或删除行时,索引随之自动更新。可以在创建表时指定 FULLTEXT ,或者在稍后指定(在这种情况下所有已有数据必须立即索引)。不要在导入数据时使用 FULLTEXT 更新索引要花时间,虽然不是很多,原创 2020-08-03 13:32:53 · 325 阅读 · 0 评论 -
《MySQL必知必会》第3篇:复杂查询
文章目录一、子查询1. 作为计算字段使用子查询二、连接查询1. 使用UNION2. 使用Union的规则4. 包含或取消重复的行5. 对组合查询结果排序一、子查询1. 作为计算字段使用子查询使用子查询的另一方法是创建计算字段。假如需要显示 customers表中每个客户的订单总数。订单与相应的客户ID存储在 orders 表中。为了执行这个操作,遵循下面的步骤。(1) 从 customers 表中检索客户列表。(2) 对于检索出的每个客户,统计其在 orders 表中的订单数目。正如前两章所述原创 2020-08-03 13:31:57 · 212 阅读 · 0 评论 -
《MySQL必知必会》第2篇:常用函数
一、字符函数查看当前mysql客户端的字符集SHOW VARIABLES LIKE '%char%' 1. Concat( ) :拼接字符串SELECT CONCAT(last_name,'_',first_name) AS 姓名 FROM employees;# 案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2))) out_put原创 2020-08-03 13:30:42 · 724 阅读 · 0 评论 -
《MySQL必知必会》第1篇:基本操作
一、 操作数据库DDL:定义数据库对象:数据库,表,列等,关键字:create, drop,alter,show 等操作数据库:CRUD创建 create-- 创建数据库create database 数据库名称;-- 创建数据库,判断不存在,再创建:create database if not exists 数据库名称;-- 创建数据库,并指定字符集create database 数据库名称 character set 字符集名; -- 练习: 创建db4数据库,判断是否存原创 2020-08-03 13:27:19 · 644 阅读 · 0 评论 -
【MySQL】sql调优基础
【Mysql】高级一、MySql介绍与安装1.1 CentOS安装Mysql1.2 修改默认配置文件/usr/share/mysql/my-huge.cnf 文件即mysql的默认配置文件,为了不破坏这个文件,我们copy一份出来叫做 my.cnf修改字符集,编辑 my.cnf注意:对于原来创建过的database,可能中文字符还会乱码,可以重新创建一个database1.3 主要配置文件二进制日志文件 log-bin :主要用于主从复制错误日志 log-erro :原创 2020-07-23 13:56:51 · 192 阅读 · 0 评论 -
【MySQL】SQL语法基础
【MySql】基础一、基础SQL1.1 操作数据库DDL:定义数据库对象:数据库,表,列等,关键字:create, drop,alter 等操作数据库:CRUD创建-- 创建数据库create database 数据库名称;-- 创建数据库,判断不存在,再创建:create database if not exists 数据库名称;-- 创建数据库,并指定字符集create database 数据库名称 character set 字符集名; -- 练习: 创建db4数据库原创 2020-07-23 13:55:52 · 781 阅读 · 0 评论