![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
澜然
坚持
展开
-
MySQL--窗口函数 触发器
窗口函数<窗口函数> OVER ([PARTITION BY <列清单>] ORDER BY <排序用列清单> )排名函数:row_number(),rank(),dense_rank()聚合函数:max(),min(),count(),sum(),avg(),median()SELECT * FROM winsales # row_number 同薪不同名,相当于行号,例如3000、2000、2000、1000排名后为1、2、3、4SELECT sa原创 2022-05-05 21:08:47 · 148 阅读 · 0 评论 -
MySQL--练习38-67
SQL38 针对actor表创建视图actor_name_viewCREATE VIEW actor_name_view AS SELECTfirst_name AS first_name_v,last_name AS last_name_v FROM actor;SELECT * FROM actor_name_view;SQL39 针对上面的salaries表emp_no字段创建索引idx_emp_noSELECT * FROM salaries FORCE INDEX(idx_em原创 2022-05-04 23:12:40 · 448 阅读 · 0 评论 -
mysql_基础—函数 流程控制
函数#函数/**含义:一组预先编译好的sql语句的集合 理解成批处理语句类似java类 调用时会检查它是否编译 减少了编译次数区别存储过程:可以有0个返回 也可以有多个返回、适合批量插入 批量更新函数:必须有且1个返回 适合做处理数据后返回一个结果*/#一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN 函数体END;/**设置变量 局部变量 和成员变量 都可以注意参数列表 包含两部分 参数名 参数类型函数体:原创 2022-05-03 22:39:02 · 615 阅读 · 0 评论 -
mysql基础——变量 存储过程
变量#变量 属性/**系统变量: 全局变量:作用于系统 服务器每次启动将为所有的全局变量赋予初始值 针对于所有的会话(连接)有效 但不能跨重启 会话变量:仅仅针对于当前的会话(连接)有效自定义变量 用户变量 局部变量*/一、系统变量# 一、系统变量/*说明:变量由系统提供 不是用户定义的 属于服务器层面 使用语法1.查看所有的系统变量 全局变量SHOW GLOBAL VARIABLES;2.会话变量SHOW SESS原创 2022-05-02 19:38:57 · 1909 阅读 · 0 评论 -
MySQL基础_事务_视图
事务#TCL 事务控制 /*TRANSACTION Control LANGUAGE 事务 :一个或一组sql语句组成一个执行单元 这个单元要么全部执行 要么全部不执行InnoDB 支持事务 MYISAM MEMORY 不支持事务1.原子性:一条sql语句要么全部执行 全部执行2.一致性:事务必须使数据库从一个一致性状态变换到到另一个一致性状态3.隔离性:多个事务同时执行 互不干扰 [隔离级别 ]4.持久性:事务一旦被提交就是永久性的改变数据库数据事务的创建隐式事务:事务没有明原创 2022-05-02 19:35:41 · 214 阅读 · 0 评论 -
MySQL基础-表数据插入-创建
DML语言#一、插入语句/**语法:INSERT INTO 表名(列名,.....) VALUES(值1,值2 .... );① 可以为null值的列可以填充null② 空值列可以去掉不写③ 列的顺序是否可以调换④ 列数和值的个数必须一致⑤ 可以省略列名 默认所有列 而且列的顺序和表中列的顺序一致*/# 方式二/**语法:INSERT into 表名 set 列名1=值1, 列名2=值2,...*/1,方式一支持插入多行 方式二 不支持 2,方式一支持子查询,方式原创 2022-05-02 19:30:02 · 2072 阅读 · 0 评论 -
MySQL_练习
SQL22 统计各个部门的工资记录数# 请你统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum,# 按照dept_no升序排序,以上例子输出如下:SELECT de.dept_no, dept_name, count( * ) as sumFROM departments de, dept_emp mp, salaries sa WHERE de.dept_no = mp.dept_no AND m原创 2022-04-27 21:20:47 · 798 阅读 · 0 评论 -
MySQL——练习1-21
SQL1 查找最晚入职员工的所有信息SELECT emp_no, birth_date, first_name, last_name, gender, hire_date FROM employees ORDER BY hire_date DESC LIMIT 1;SQL2 查找入职员工时间排名倒数第三的员工所有信息#假如同一天三个人入职 # 排序入职时间 取倒数第三# 标量子查询SELECT * FROM employees WHERE hire_date原创 2022-04-26 17:00:01 · 77 阅读 · 0 评论 -
MySQL_基础——分页查询——联合查询
分页查询简介应用场景:当要显示的数据 一页显示不全 需要分页提交sql请求语法:SELECT COLUMN... ⑦ FROM table1 ①[INNER |LEFT |RIGHT] JOIN table2 ② 笛卡尔乘积ON 连接条件 ③ 过滤笛卡尔乘积WHERE 条件过滤 ④ [GROUP BY] ⑤ [HAVING] 分组 ⑥ [ORDER BY] 排序 ⑧ LIMIT OFFSET ,size ⑨ # OFFSET 起始索引(从0开始) ,size 显示的原创 2022-04-22 21:14:29 · 181 阅读 · 0 评论 -
MySQL基础__子查询
子查询简介 出现在其他语句中的select语句 称为子查询或内查询 外部的查询语句 称为主查询或外查询 子查询放到小括号内 按子查询出现的位置: SELECT后面:只标量子查询(一行一列) FROM 后面:支持表子查询 WHERE 或HAVING后面: 标量子查询(单行子查询) ★ 列子查询(多行子查询) ★ 行子查询 EXISTS(存在与否)后面[相关子查询]:表子查询按结果集的行列数不同 标量子查询(结果集只有一行一列) 列子查询(原创 2022-04-22 16:54:57 · 481 阅读 · 0 评论 -
MySQL基础__内连接查询
连接查询内连接 等值查询# 连接查询 多表查询# 查询的字段来源于多个表 就会用到连接查询# 多表查询 查询来源于多个表的时候 就会用到连接查询/**笛卡尔乘积现象:表1 有m行 表2有n行 结果=m*n行原因:没有有效的连接条件如何避免:添加有效的连接条件 按年代分类 sql92标准: 仅仅支持内连接 sql99标准 [推荐] : 支持内连接+外连接(左外+右外)+交叉连接 按功能分类 内连接: 等值连接原创 2022-04-20 22:22:37 · 691 阅读 · 0 评论 -
MySQL基础__分组查询
分组查询# 分组查询 GROUP BY 子句语法/**SELECT COLUMN 字段 ,GROUP_FUNCTION(COLUMN) 分组函数 FROM table 表名WHERE 条件GROUP BY 分组的表达式 字段ORDER BY 排序字段注意:查询列表必须特殊 要求分组函数和GROUP BY 后出现的字段特点:分组查询分为两类 数据源 位置 关键字 分组前筛选 库中的表(原始表) GROUP BY 子句的原创 2022-04-20 19:56:37 · 376 阅读 · 0 评论 -
MySQL基础_单行函数练习
练习# 显示系统的时间SELECT NOW();# 查询员工 姓名 工资 以及工资提高百分之20%之后的结果# 1.2 工资本身 在加上 0.2 结果SELECT last_name,salary, salary * 1.2 AS towResult FROM employees# 将员工的姓名按首字母排序 并写出姓名的长度(length)# 默认asc SUBSTRING() 截取出首字母SELECT last_name ,LENGTH(last_name) na FROM e原创 2022-04-19 21:59:11 · 457 阅读 · 0 评论 -
mysql常见函数语法
字符函数语法# 字符函数#length 获取字节个数SELECT LENGTH('john')#一个汉字占三个字节SELECT LENGTH('张三丰john')#查看字符集SHOW VARIABLES LIKE '%char%';#concat 拼接字符串SELECT CONCAT(last_name,'_',first_name) name FROM employees#upper,lower 变大写 小写 SELECT UPPER('abc');SELECT LOWER原创 2022-04-18 22:14:17 · 1167 阅读 · 1 评论 -
mysql练习基础一
SELECT * FROM employees;employees 中全部job_id(不能重复)SELECT DISTINCT job_id FROM employees显示employees的全部列 各个列之间用逗号连接 列头显示成OUT_PUTSELECT CONCAT(employee_id,',',first_name,',',last_name,',',email) OUT_PUT FROM employees;选择在20 或者50部门工作的员工SELECT * FROM e原创 2022-04-18 14:45:05 · 648 阅读 · 0 评论