Mysql
小月大可sochi
这个作者很懒,什么都没留下…
展开
-
Mysql高级20-性能分析
Mysql高级20-性能分析原创 2022-07-31 14:19:33 · 248 阅读 · 0 评论 -
Mysql高级14-索引是什么
Mysql高级14-索引原创 2022-07-24 22:25:20 · 111 阅读 · 0 评论 -
Mysql高级12-7中Join理论
Mysql高级02原创 2022-07-24 21:57:50 · 170 阅读 · 1 评论 -
Mysql高级10
Mysql高级10原创 2022-07-24 21:22:33 · 147 阅读 · 0 评论 -
Mysql高级06
Mysql高级06-未学原创 2022-07-24 21:00:46 · 128 阅读 · 0 评论 -
Mysql高级02
加粗样式mysql内核mysql优化攻城狮mysql服务器的优化mysql各种参数常量设定查询语句优化主从复制软硬件升级容灾备份sql编程mysql下载版本generally available原创 2021-07-08 21:28:52 · 56 阅读 · 0 评论 -
170-流程控制
顺序结构:程序从上往下依次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件的基础上,重复执行一段代码一、分支结构1、if(表达式1,表达式2,表达式3)如果1成立,返回表达式2的值,否则返回表达式3的值2、case函数,类似于java中的switch语句,一般用于实现等值判断。多重if语句。case 变量|表达式|字段特点:1、可以作为表达式,嵌套在其他语句中使用,也可以放在任何地方,begin end中或begin end 外。可以作为独立的语句使用,只原创 2021-07-04 00:24:03 · 59 阅读 · 0 评论 -
166-函数创建、调用、应用
一、创建1、参数列表包含两部分类容:参数名、参数类型;2、函数体:1、无参有返回。犯规公司的员工个数CREATE FUNCTION muf1() RETURNS INTBEGIN DECLARE c INT DEFAULT 0; SELECT COUNT(*) INTO c FROM `employees`; RETURN cENDSELECT myf1();2、有参有返。根据员工名,返回他的工资CREATE FUNCTION myf2(empName VARCHAR(20原创 2021-07-04 00:01:59 · 79 阅读 · 0 评论 -
155-存储过程和函数
存储过程和函数:类似于java中的方法原创 2021-03-30 23:59:45 · 84 阅读 · 0 评论 -
149-变量的介绍
一、分类1、系统变量:全局变量:由系统提供,不是用户定义,术语服务器层面#使用语法SHOW GLOBAL|[SESSION] VARIABLES;#查看所有的系统变量show global variables like '^';#查看满足条件的部分系统变量select @@global 系统变量名;#查看满足条件的部分系统变量set global 系统变量名=值;#为某个系统变量赋值set @@global 系统变量名=值;#为某个系统变量赋值会话变量:注意:如果是全局级别,则需要加g原创 2021-03-12 20:54:39 · 141 阅读 · 0 评论 -
148-复习
事务:一、含义:一条或多条SQL语句组成的一个执行单位,一组SQL语句要么都执行,要么都不执行二、特点ACIDA原子性:一个事务是不可再分割的整体,要么都执行或都不执行C一致性:一个事务使数据从一个一致状态切换到另一个一致的状态I隔离性:一个事务不受其他事务的干扰,多个事务相互隔离D持久性:一个事务一旦提交,则永久的持久化到本地三、事务的使用步骤隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交显式事务:具有明显的开启和结束①开启事务:set autocommit=0原创 2021-03-11 23:01:30 · 58 阅读 · 0 评论 -
147-测试题讲解
1、创建表book,字段如下bidbnamepricebtypeId已知bookType表(不用创建),字段有:idnamecreate table book( bid int primary key, bname varchar(20) unique not null, price float default 10, btypeId int, foreign key(btypeId) references booktype(id) );2、开启事务向表中插入1行数据,并结原创 2021-03-11 00:28:12 · 143 阅读 · 0 评论 -
146-delete和truncate的区别
set autocommit=0;start transaction;delete from account;rollback;#delete可以回滚原创 2021-03-11 00:18:02 · 39 阅读 · 0 评论 -
143-视图练习,视图和表的区别
一、创建视图emp_v1,要求查询电话号码以011开头的员工姓名和工资、邮箱;二、创建视图emp_v2,要求查询部门的最高工资高于12000的部门信息原创 2021-03-10 22:03:32 · 136 阅读 · 0 评论 -
141-视图修改、删除、查看、更新
修改方式一:如果存在视图名,就修改,如果不存在就创建CREATE OR REPLACE VIEW 视图名AS查询语句;方式二:ALTER VIEW 视图名 AS查询语句;删除:DROP VIEW 视图名;查看:DESC 视图名;或者SHOW CREATE VIEW 视图名;...原创 2021-03-09 20:35:12 · 256 阅读 · 0 评论 -
139-视图介绍
视图含义:虚拟表,和普通的表一样使用mysql15.1版本出现的新特性,是通过表动态生成的数据原创 2021-03-09 20:26:26 · 124 阅读 · 3 评论 -
137-事务的隔离级别
隔离性有隔离级别(4个)读未提交:read uncommitted读已提交:read committed可重复读:repeatable read串行化:serializable1、 read uncommitted事物A和事物B,事物A未提交的数据,事物B可以读取到这里读取到的数据叫做“脏数据”这种隔离级别最低,这种级别一般是在理论上存在,数据库隔离级别一般都高于该级别2、read committed事物A和事物B,事物A提交的数据,事物B才能读取到这种隔离级别高于读未提交换.原创 2021-03-04 21:22:31 · 112 阅读 · 1 评论 -
133-标识列【自增长列】
特点:1、表示列必须和主键搭配吗?不一定,但要求是一个key;2、一个表可以有几个标识列?至多一个!3、标识列的类型,只能是数值型。4、标识类可以通过set auto_increment=值,来设置步长创建表时设置标识列CREATE TABLE tab_identity( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20));DESC `tab_identity`;DROP TABLE `tab_identity`;INSER原创 2021-02-03 22:45:56 · 65 阅读 · 0 评论 -
132-表约束练习
1、alter table empe add constraint my_emp_id_pk primary key(id);2、alter table emp2 add column dept_id int;alter table emp2 add constraint fk_emp2_dept2 foreign key(dept_id)references dept(id);列级约束原创 2021-02-03 22:24:02 · 81 阅读 · 0 评论 -
130-修改表时 添加/删除 约束
1、添加约束【一般在列级修改】#非空alter table stuinfo modify column stuNamne varchar(20) not null;#默认约束alter table stuinfo modify column age int default 18;#主键alter table stuinfo modify column id int primary key;列级约束写法alter table stuinfo add primary key(id);#表级约束写法原创 2021-02-03 21:52:49 · 104 阅读 · 0 评论 -
129-外键的特点
1、要求在从表设置外键关系2、从表的外键列的类型和主表的关联列的类型要求一致,名称无要求,3、主表的关联列必须是一个key【一般是主键或唯一】4、插入数据时,先插入主表的数据,再插入从表的数据;删除数据时,先删除从表的数据,再删除主表的数据。...原创 2021-02-03 21:32:19 · 168 阅读 · 0 评论 -
128-主键和唯一
主键:保证唯一,不能为空,至少有1个约束,可以设置组合为主键【不推荐使用】唯一:保证唯一,可以为空,可以有多个约束,可以设置组合为约束【不推荐使用】原创 2021-02-03 21:21:35 · 68 阅读 · 0 评论 -
125-常见约束
常见六大约束:not null:非空,用于保证该字段的值不能为空比如姓名,学号default:默认,用于保证该字段有默认值比如性别primary key:主键,用于保证该字段的值具有唯一性,并且非空比如序号、员工号unique:唯一,,用于保证该字段的值具有唯一性,可以非空比如座位号check:检查约束【mysql中不支持】年龄,性别foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中的某列的值比如学生表原创 2021-02-03 21:09:11 · 155 阅读 · 0 评论 -
124-总结、作业
union:含义un:合并、联合,将多次查询结果合并成一个结果二、语法查询语句1union【all】查询语句2union【all】……三、意义1、将一条比较复杂的查询语句查分成多条语句2、适用于查询多个标的时候,查询的列基本是一致四、特点1、要求多条查询语句的查询列数必须一直2、要求多条查询语句的查询的各列类型一致3、union去重,union all包含重复项查询语句:select 查询列表———7from 表1 别名————1连接类型 join 表2——2on 连接原创 2021-02-01 22:25:41 · 97 阅读 · 1 评论 -
117-库、表操作练习
#USE test;CREATE TABLE dept1( id INT(7), name_ VARCHAR(25));#将department中的数据插入新表dept2CREATE TABLE dept2SELECT `department_id`,`department_name`FROM `myemployees`.`departments`;#创建表emp5CREATE TABLE emp5( id INT(7), First_name VARCHAR(25), La原创 2021-01-27 23:08:04 · 76 阅读 · 0 评论 -
111-DDL语言(库、表)
数据定义语言一、库的管理1、创建:CREATE DATABASE books;CREATE DATABASE IF NOT EXISTS books ;2、修改没有修改语句,影响安全。直接改文件夹的名称。#更改库的子集ALTER DATABASE books CHARACTER SET gbk;3、删除#库的删除DROP DATABASE books;DROP DATABASE IF EXISTS books;二、表的管理1、创建createcreate table原创 2021-01-26 22:30:41 · 80 阅读 · 0 评论 -
102-插入、修改、删除
插入:insert修改:update删除:delete一、插入语句语法:insert into 表名(列)values()二、修改语句1、修改单表的记录语法:update 表名set 列=新值,列=新值,……where 筛选条件2、修改多表的记录语法:92语法update 表1 别名,表2 别名set 列=值,where 连接条件and 筛选条件99语法update 表1 别名inner|left|right join 表2 别名on 连接条件setwher原创 2021-01-26 21:14:22 · 244 阅读 · 0 评论 -
100-联合查询union
SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;#等价SELECT * FROM employees WHERE email LIKE '%a%' UNION SELECT * FROM employees WHERE department_id>90;应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,单查询的信息是 一致时特点:列数一致,字段和顺序一致,...原创 2021-01-24 16:25:13 · 77 阅读 · 0 评论 -
098-
SELECT 7FROM 1JOIN ON 2WHERE 3GROUP 4HAVING 6ORDER BY 8LIMIT OFFSET,size; 8OFFSET 要显示条目的其实索引size 要显示的条目个数;#特点:放在语句最后,要显示的页数page,每页显示条数size#查询天5条员工信息SELECT * FROM `employees`原创 2021-01-24 16:13:20 · 125 阅读 · 0 评论 -
096-语句总结
SELECT 7FROM 1JOIN ON 2WHERE 3GROUP 4HAVING 6ORDER BY 8LIMIT OFFSET,size; 8原创 2021-01-24 15:00:32 · 58 阅读 · 0 评论 -
095-分页查询
#查询天5条员工信息SELECT * FROM `employees` LIMIT 0,5;#0表示起始位置,一般为0,可以将0省略#查询第11~25条记录SELECT * FROM `employees` LIMIT 10,15;#有奖金的员工信息,并且工资较高的前10名显示SELECT * FROM `employees` WHERE `commission_pct` IS NOT NULL ORDER BY `salary` DESC LIMIT 10 ;...原创 2021-01-24 14:49:16 · 48 阅读 · 0 评论 -
094-子查询练习
SELECT `last_name`,`salary`FROM `employees`WHERE `department_id`=( SELECT `department_id` FROM `employees` WHERE `last_name`='Zlotkey');SELECT `employee_id`,`last_name`,`salary`FROM `employees`WHERE salary>( SELECT AVG(e.salary) FROM `empl.原创 2021-01-23 22:55:13 · 176 阅读 · 0 评论 -
093-exists后子查询,可以用in代替
exists返回结果为一个Boolean值SELECT EXISTS(SELECT employee_id FROM employees );#查询有员工名的部门名SELECT `department_name`FROM `departments` dWHERE EXISTS( SELECT * FROM `employees` e WHERE d.`department_id`=e.`department_id`)先执行主句select然后执行where的条件语句上句可以用一下原创 2021-01-22 00:28:31 · 161 阅读 · 0 评论 -
092-from后面子查询
#查询每个部门的平均工资等级将子查询结果充当一张表,必须取别名SELECT g.`grade_level`,ag_dep.*FROM ( SELECT `department_id`,AVG(`salary`) ag FROM `employees` GROUP BY `department_id`)ag_dep INNER JOIN `job_grades` gON ag_dep.ag BETWEEN g.`lowest_sal` AND g.`highest_sal`;...原创 2021-01-22 00:11:31 · 80 阅读 · 0 评论 -
091-select后面的子查询使用
#仅仅支持标量子查询#查询每个部门的员工个数SELECT d.*,( SELECT COUNT(*) FROM `employees` e WHERE e.`department_id`=d.`department_id` ) 个数FROM `departments` d#查询员工号=102的部门名SELECT ( SELECT DISTINCT `department_name` FROM `departments` d INNER JOIN `employees` e ON原创 2021-01-22 00:00:42 · 98 阅读 · 0 评论 -
090-where后面的行子查询
#查询员工编号最小并且工资最高的员工信息#此员工不一定存在以前的做法SELECT *FROM employeesWHERE employee_id=( SELECT MIN(employee_id) FROM employees)AND salary=( SELECT MAX(salary) FROM employees);行子查询代替:筛选条件都为等于时可以使用SELECT *FROM employeesWHERE (employee_id,salary)=( SELEC原创 2021-01-21 23:43:09 · 68 阅读 · 0 评论 -
089-where后面的列子查询
多行子查询多行比较操作符innot inanysomallin 与 =any 等价not in 与 <>all 等价#返回location_id是1400或1700的部门中的所有员工姓名#1产寻location是1400、1700的部门编号SELECT DISTINCT department_idFROM departmentsWHERE location_id IN (1400,1700)SELECT last_nameFROM `employees`WHER原创 2021-01-21 23:34:55 · 97 阅读 · 0 评论 -
088-where、having后面的标量子查询
子查询出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为猪查询语句特点:子查询放在小括号内,一般放在条件右侧,标量子查询一般搭配当行操作符使用<>=列子查询一般搭配着多行操作符使用子查询的执行优先于主查询分类:1、子查询出现的位置:select后面:只支持标量子查询from后面:支持表子查询☆where或having后面:支持标量子查询,列子查询,行子查询exists后面(相关字查询):支持表子查询2、按结果集的行列数不同:标量子查询(结果集只有原创 2021-01-21 23:04:27 · 165 阅读 · 1 评论 -
086-外连接
#查询编号>3的女神的男朋友信息,如果有则列出详细,如果没有,用null填充SELECT b.*,bo.*FROM `beauty` bLEFT OUTER JOIN `boys` boON bo.`id`=b.`boyfriend_id`WHERE b.`id`>3;#查询哪个城市没有部门SELECT l.`city`,d.*FROM `departments` dRIGHT OUTER JOIN `locations` lON d.`location_id`=l.`l原创 2021-01-21 22:03:04 · 74 阅读 · 0 评论