摘要: #函数 /* 存储过程:可以有0个或多个返回,适合批量插入、批量更新 函数:有且仅有一个返回,适合处理数据后返回一个结果 */ #一、创建语法 /* create function 函数名(参数列表) returns 返回类型 begin 函数体 end 参数列表: 参数名 参数类型 */ use 阅读全文
posted @ 2020-07-07 16:56 王朝君BITer 阅读(183) 评论(0) 推荐(0) 编辑
摘要: #存储过程 /* 一组预先编译好的sql语句集合,理解成批处理语句 好处: 1、提高代码重用性 2、简化操作 3、减少了编译次数并减少了和数据库服务器的连接次数,提高了效率 */ #一、创建 /* create procedure 存储过程名(参数列表) begin 一组合法的sql语句 end 注 阅读全文
posted @ 2020-07-07 16:39 王朝君BITer 阅读(150) 评论(0) 推荐(0) 编辑
摘要: #变量 /* 系统变量: 全局变量 会话变量 自定义变量: 用户变量 局部变量 */ # 一、系统变量 #由系统提供,属于服务器层面 #1、查看所有的系统变量 show global variables; #会话变量 show session variables; #2、查看满足条件的部分系统变量名 阅读全文
posted @ 2020-07-07 16:37 王朝君BITer 阅读(185) 评论(0) 推荐(0) 编辑
摘要: #视图 /* 含义:虚拟表,和普通表一样使用。通过表动态生成的数据 只保存了sql逻辑,不保存查询结果 应用场景: 1、多个地方用到同样的查询结果 2、该查询结果使用的sql语句较为复杂 */ USE students; show tables; #案例:查询姓张的学生名和专业名 select st 阅读全文
posted @ 2020-07-07 16:36 王朝君BITer 阅读(163) 评论(0) 推荐(0) 编辑
摘要: #TCL /* 事务控制语言 事务:一个或一组sql语句组成一个执行单元,每条sql语句相互依赖 这个执行单元要么全部执行、要么全部失败后回滚 案例:转账 事务的acid属性 1.原子性:事务时一个不可分割的工作单位 2.一致性:事务必须使数据库从一个一致性状态转换为另一个一致性状态 3.隔离性:一 阅读全文
posted @ 2020-07-07 16:35 王朝君BITer 阅读(129) 评论(0) 推荐(0) 编辑
摘要: # 标识列 /* 自增长列 可以不用手动的插入值,系统提供默认的序列值 1、标识列必须和 key 搭配使用,比如主键、唯一键、外键 2、一个表至多一个标识列 3、标识列的类型只能是数值型 4、标识列可以设置步长 */ USE books; #一、创建表时设置标识列 CREATE TABLE IF N 阅读全文
posted @ 2020-07-07 16:33 王朝君BITer 阅读(145) 评论(0) 推荐(0) 编辑
摘要: #DDL /* 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建 create 修改 alter 删除 drop */ #一、库的管理 #1、库的创建 /* CREATE DATABASE 库名; */ CREATE DATABASE books; S 阅读全文
posted @ 2020-07-07 16:31 王朝君BITer 阅读(162) 评论(0) 推荐(0) 编辑
摘要: #DML语言 /* 数据操作语言 插入:insert 修改:update 删除:delete */ #一、插入语句 /* 语法: insert into 表名(列名...) values(新值...); */ USE girls; INSERT INTO beauty(id, NAME, sex, 阅读全文
posted @ 2020-07-07 16:30 王朝君BITer 阅读(186) 评论(0) 推荐(0) 编辑
摘要: #进阶10:联合查询 /* union联合 将多条查询语句的结果合并成一个结果 语法: 查询1 union 查询2 union 查询3 ... 应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致 特点: 1、多条查询语句的列数要一致、每一列的类型和顺序要对应 2、uni 阅读全文
posted @ 2020-07-07 16:29 王朝君BITer 阅读(191) 评论(0) 推荐(0) 编辑
摘要: #进阶9:分页查询 /* 当要显示的数据,一页显示不全,需要分页提交sql请求 SELECT FROM JOIN ON WHERE GROUP BY HAVING ORDER BY LIMIT offset, size; offset:起始索引(从0开始) size:查询条目个数 */ USE my 阅读全文
posted @ 2020-07-07 16:28 王朝君BITer 阅读(172) 评论(0) 推荐(0) 编辑
摘要: #进阶8:子查询 /* 出现在其他语句中的select语句(嵌套) 分类: 按子查询出现的位置: SELECT 后面 FROM 后面 WHERE 或 HAVING 后面 EXISTS后面 */ USE myemployees; #一、where 或 having 后面 #1、单行 #案例1:谁的工资 阅读全文
posted @ 2020-07-07 16:26 王朝君BITer 阅读(154) 评论(0) 推荐(0) 编辑
摘要: #进阶7:连接查询 /* 多表连接:查询的字段来自多个表 按功能分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接 右外连接 全外连接 交叉连接 */ USE girls; SELECT * FROM beauty; SELECT * FROM boys; #SQL92语法 #一、内 阅读全文
posted @ 2020-07-07 16:25 王朝君BITer 阅读(145) 评论(0) 推荐(0) 编辑
摘要: #进阶5:分组查询 /* SELECT FROM WHERE GROUP BY ORDER BY 查询列表要求是分组函数和 group by 之后出现的字段 1、筛选条件分为两类: 数据源 位置 关键字 分组前筛选 原始表 group by前 where 分组后筛选 分组后的结果集 group by 阅读全文
posted @ 2020-07-07 16:24 王朝君BITer 阅读(153) 评论(0) 推荐(0) 编辑
摘要: #2、分组函数 /* 分组函数/聚合函数:传入一组值,经过统计处理,得到一个输出值 sum, avg, max, min, count */ USE myemployees; #简单使用 SELECT sum(salary), avg(salary), max(salary), min(salary 阅读全文
posted @ 2020-07-07 16:23 王朝君BITer 阅读(158) 评论(0) 推荐(0) 编辑
摘要: #进阶4:常见函数(单行函数) /* 将一组逻辑语句封装在方法体中,对外暴露方法名 语法: SELECT 函数名() 【FROM 表名】 分类: 1、单行函数:concat,length,ifnull等等 2、分组函数:聚合函数,做统计使用 */ USE myemployees; #1、单行函数 # 阅读全文
posted @ 2020-07-07 16:22 王朝君BITer 阅读(148) 评论(0) 推荐(0) 编辑
摘要: #进阶3:排序查询 /* 语法: SELECT FROM WHERE ORDER BY ASC|DESC */ USE myemployees; #案例1:查询员工信息,按工资从高到低排 SELECT * FROM employees ORDER BY salary; #案例2:查询部门编号>=90 阅读全文
posted @ 2020-07-07 16:21 王朝君BITer 阅读(151) 评论(0) 推荐(0) 编辑
摘要: #进阶2:条件查询 /* 语法: SELECT 查询列表 FROM 表名 WHERE 筛选条件 分类: 1、按条件表达式筛选:> < = != <> >= <= 2、按逻辑表达式筛选:&& || ! AND OR NOT 3、模糊查询:LIKE, BETWEEN AND, IN, IS NULL * 阅读全文
posted @ 2020-07-07 16:14 王朝君BITer 阅读(199) 评论(0) 推荐(0) 编辑
摘要: #进阶1:基础查询 /* 语法: SELECT 查询列表 FROM 表名; 特点: 1、查询列表可以是:表中字段、常量值、表达式、函数 2、查询的结果是一个虚拟的表格 */ USE myemployees; #1、查询单个字段 SELECT last_name FROM employees; #2、 阅读全文
posted @ 2020-07-07 16:13 王朝君BITer 阅读(151) 评论(0) 推荐(0) 编辑