04 2020 档案
摘要:数据库的隔离级别: 1. 对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有必要的隔离级别,就会导致各种并发问题: 脏读:对于两个事务T1,T2,T1,读取了已经被T2更新单还没有被提交的字段之后,若T2回滚,T1读取的内容就是临时的,无效的。(一个事务读取了其他事务没有提交的数据
阅读全文
摘要:事务控制语言(Transaction Control Language): 事务:一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 案例:转账 张三丰 1000 郭襄1000元 update 表 set 张三丰的月=500 where name='张三丰'; upda
阅读全文
摘要:数据类型介绍 一、整型 数据类型 字节 存储范围 Tinyint 1 有符号值:-128~127() 无符号值:0~255 Smallint 2 有符号值:-32768~32767 无符号值:0~65535 Mediumint 3 有符号值:-8388608~8388607 无符号值:0~16772
阅读全文
摘要:表的管理 1. 表的创建 create table if not exists 表名( 列名 列的类型(长度)约束, 列名 列的类型(长度)约束 ); 列的类型长度和约束可以省略 案例1. 创建表book create table if not exists book( id int, #书的编号
阅读全文
摘要:库的管理 1. 库的创建 create database if not exists 库名; 例:创建库books create database if not exists books; 2. 库的修改 更改库名直接到文件夹里重命名,没有直接的sql语句 更改库的字符集 alter databas
阅读全文
摘要:删除语句 语法:方式一 delete from 表名 where 筛选条件(删除整行) 单表的删除 1. delete from 表名 where 筛选条件 案例:删除手机号以9结尾的女神信息 delete from beauty where phone like '%9'; 2. 多表的删除 ①s
阅读全文
摘要:修改语句 update 表名 set 列=新值,列=新值 where 筛选条件; 注意:字符型,日期型要加引号 修改单表 案例1:修改beauty中姓唐的女神的电话为13899888899 update beauty set phone='13899888899' where name like '
阅读全文
摘要:一、插入语言 语法: 方式一较常用 insert into 表名(列名,.....) values (值1,值2,.....) , #第一行数据 (值3,值4,.....) , #第二行数据 . #第三行数据 . . #第n行数据 ; 注意: 1. 插入的值的类型要与列的类型一致或兼容 insert
阅读全文
摘要:联合查询 关键词:union 联合,合并;将多条查询语句的结果合并成一个结果 语法:查询语句1 union 查询语句2 union...... 应用场景:要查询的结果来自于多个表 且 多个表没有直接的连接关系,但查询的信息一致时 案例:查询部门编号>90号或邮箱中包含a的员工信息 ①:以前的方式 s
阅读全文
摘要:#1.查询工资最低的员工信息:last_name,salary select last_name,salary from employees where salary is not null order by salary limit 1; 或 select last_name, salary fr
阅读全文
摘要:分页查询 应用场景:要查的条目数太多,一页显示不全。 语法:select 查询列表 from 表 limit [offset], size; 注意: offset 代表的是起始的条目数,默认从0开始; size 代表的是显示的条目数 公式: 假如要显示的页数为page,每一页条目数为size sel
阅读全文
摘要:子查询 含义:嵌套在其他语句内部的select语句为子查询或内查询,外边的语句可以是instr,update,delete,select等,一般select作为外部语句较多。 外面如果为select,则此语句为外查询或主查询。 分类 1. 按出现的位置 select 后面(仅支持标量子查询) fro
阅读全文
摘要:连接查询 含义:又称多表查询(多表连接),当查询的字段来自多个表时,就会用到连接查询 笛卡尔乘积现象:表1有m行,表2有n,结果为m*n行;发生原因:没有有效的连接条件;如何避免:添加有效的连接条件 连接查询分类: 按年代分类: SQL92标准(仅支持内连接) SQL99标准(支持内连接+外连接+交
阅读全文
摘要:1. 查询个job_id的员工 工资的最大值,最小值,平均值, 总和,并按job_id升序 select max(salary),min(salary),avg(salary),sum(salary),job_id from employees group by job_id order by jo
阅读全文
摘要:分组函数 特点: 1. 分组查询的筛选条件份两类数据源 ① 分组前筛选,数据源为原始表,筛选放于Group by 子句前,关键词为Where; ② 分组后筛选,数据源为分组后的结果集,筛选放于Group by子句后面,关键词Having; 分组函数做条件,肯定是放在having 子句中 能用分组前筛
阅读全文
摘要:分组函数 功能:用作统计使用,又称聚合函数或统计函数或组函数。 分类:sum求和,avg平均值,max最大值,min最小值,count计算个数(非空值) 参数支持的类型: 1. sum,avg一般处理数值型;max,min,count可以处理任何类型; 2 .sum,avg,max,min,coun
阅读全文
摘要:case函数 使用一、类似于Java中SWITH CASE 的效果 语法: case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1 when 常量2 then 要显示的值2或语句2 ........ else 要显示的值n或语句n end 该用法适用于等值判断 例:查询员工
阅读全文
摘要:流程控制函数 ① IF 函数:IF ELSE 的效果 select if(10>5,'大','小'); #结果返回为‘大’ select last_name,salary,commission_pct, if(commission_pct is null, '没奖金,呵呵', '有奖金,哈哈') f
阅读全文
摘要:数学函数 ① round 四舍五入 select round(1.65);=2 select round(1.45);=1 select round(-1.45);=-1 select round(-1.65);=-2 select round(1.567,2)=1.57 ② ceil 向上取整,返
阅读全文
摘要:日期函数 ① now 返回当前系统 日期+时间 select now(); ② curdate() 返回当前系统日期,不包含时间 select curdate(); ③ curtime 返回当前时间,不包含日期 select curtime(); ④ 获取指定部分的日期,年,月,日,小时,分钟,秒
阅读全文
摘要:常用函数 ① 功能:类似于Java中的方法,将一组逻辑语言封装在方法体中,对外暴露方法名。 ② 好处:1. 隐藏了实现细节;2. 提高了代码的重用性; ③ 调用:select 函数名(实参列表)【from 表】 ④ 分类: 1. 单行函数,如concat,length,ifnull等; 2. 分组函
阅读全文
摘要:一、语法 执行顺序 select 查询列表 ③ from 表 ① where 筛选条件 ② order by 排序列表 ASC/DESC; ④ 二、特点:① ASC代表升序,DESC代表降序,如果不写默认升序; ② order by 子句中可以支持单个字段,多个字段,表达式,函数,别名; ③orde
阅读全文
摘要:根据筛选条件的写法不同,分为以下几大类: 一、按条件表达式筛选 条件运算符:> < = <> 或!= >= <= 例:查询工资>12000的员工信息 select * from employees where salary>12000; 二、按逻辑表达式筛选 逻辑运算符:and(&&) or(II)
阅读全文
摘要:一. 基础查询 语法: select 要查询的内容(查询列表) from 表名; 特点:1. 查询列表可以是表中的字段,常量,表达式,函数。 2. 查询结果是一个虚拟的表格。 ① 查询表中的单个字段 例:select last_name from 表名; ② 查询表中的多个字段 例:select l
阅读全文
摘要:1. show datebases; #查看当前所有数据库; 2. select database(); #查看当前所在库; 3. use 库名; #打开指定的库; 4. show tables; #查看当前库的所有表; 5. show tables from 库名; #查看其它库的所有表; 6.
阅读全文