![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL笔记
MySQL
Alice_LMY
这个作者很懒,什么都没留下…
展开
-
MySQL笔记 22:流程控制结构
1. 分类顺序结构:程序从上往下一次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件的基础上,重复执行一段代码2. 分支结构2.1 if 函数功能:实现简单的双分支语法:IF (表达式1, 表达式2, 表达式3)执行顺序:如果表达式1成立,则 IF 函数返回表达式2的值,否则返回表达式3的值2.2 case结构2.2.1 类似于java中的 switch 语句,一般用于实现等值判断CASE 变量|表达式|字段WHEN 要判断的值1 THEN原创 2020-10-20 11:28:26 · 116 阅读 · 0 评论 -
MySQL笔记 21:函数
1. 含义一组预先编译好的SQL语句的集合函数与存储过程的不同点在于:存储过程可以有多个返回,但是函数有且仅有一个返回存储过程适合做批量的增删改操作,函数适合处理数据返回一个结果这种需求2. 好处提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率3. 语法3.1 创建CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN-----函数体-----END注意:参数列表包含两部分:参数名 参数类型函原创 2020-10-20 11:22:49 · 123 阅读 · 0 评论 -
MySQL笔记 20:存储过程
1. 含义一组预先编译好的SQL语句的集合2. 好处提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率3. 语法创建CREATE PROCEDURE 存储过程名 (参数列表)BEGIN存储过程体(一组合法的SQL语句)END注意:参数列表包含三部分:参数模式 参数名 参数类型( 例:IN stuname VARCHAR(20))参数模式有三种:IN:该参数可以作为输入,也就是说该参数需要调用方传入值OUT:该参数可以作为输出,原创 2020-10-20 11:15:35 · 100 阅读 · 0 评论 -
MySQL笔记 19:变量
1. 分类系统变量:全局变量,会话变量自定义变量:用户变量,局部变量2. 系统变量说明变量是由系统提供,不是用户定义,属于服务器层面语法查看所有的系统变量-- 全局变量SHOW GLOBAL VARIABLES ;-- 会话变量(session可以省略)SHOW SESSION VARIABLES ;查看满足条件的部分系统变量SHOW GLOBAL VARIABLES LIKE '%char%' ;查看指定的某个系统变量SELECT @@global.原创 2020-10-20 11:13:59 · 80 阅读 · 0 评论 -
MySQL笔记 18:视图
1. 含义虚拟的表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据只保存了sql逻辑,不保存查询结果2. 应用场景多个地方用到同样的查询结果该查询结果使用的sql语句比较复杂3. 视图的创建和使用查询部门名为IT的员工的相关信息CREATE VIEW v1 AS SELECT `employee_id`, `last_name`, d.`department_name`, `salary`, `commission_pct` FR原创 2020-10-15 09:56:24 · 94 阅读 · 0 评论 -
MySQL笔记 17:TCL(事务控制语言)
1. 什么是事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行2. 事务的ACID属性:原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态隔离性:一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰持久性:一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有原创 2020-10-15 09:53:19 · 79 阅读 · 0 评论 -
MySQL笔记 16:约束
1. 含义一种限制,用于限制表中的数据,为了保证表中数据的准确和可靠性一般是在创建或修改表时添加约束(在数据添加之前)2. 分类NOT NULL:保证该字段的值不为空DEFAULT:保证该字段的值有默认值PRIMARY KEY:保证该字段的值具有唯一性,并且非空UNIQUE:保证该字段的值具有唯一性,但是可以为空CHECK:检查约束,MySQL不支持FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值列级的外键约束没有效果,表级的非空和原创 2020-10-15 09:50:35 · 97 阅读 · 0 评论 -
MySQL笔记 15:数据类型
1. 数值型1.1 整型类型字节有符号范围无符号范围Tinyint1-128~1270~255Smallint2-32768~327670~65535Mediumint3-8388608~83886070~1677215Int4-2147483648~21474836470~4294967295Bigint8-9223372036854775808~92233720368547758070~9223372036854775原创 2020-10-15 09:42:11 · 100 阅读 · 0 评论 -
MySQL笔记 14:库和表的管理
1. 库的管理1.1 库的创建创建数据库bookbl--如果存在就取消创建,但是不会报错CREATE DATABASE IF NOT EXISTS bookbl1.2 库的修改修改库的字符集ALTER DATABASE `bookbl` CHARACTER SET gbk1.3 库的删除--如果存在就删除库DROP DATABASE IF EXISTS bookbl2. 表的管理2.1 表的创建案例:创建一个book表CREATE TABLE IF NOT EXISTS原创 2020-10-14 08:56:10 · 102 阅读 · 0 评论 -
MySQL笔记 13:删除语句
1. 语法1.1 单表的删除deletedelete from 表名where 筛选条件truncatetruncate table 表名1.2 多表的删除sql92语法:delete 别名from 表1 as 别名, 表2 as 别名where 连接条件and 筛选条件limitsql99语法:delete 别名from 表1 as 别名, 表2 as 别名on 连接条件where 筛选条件limit2. 单表的删除案例:删除手机号最后一位为9的原创 2020-10-14 08:53:02 · 365 阅读 · 0 评论 -
MySQL笔记 12:修改语句
1. 语法1.1 修改单表中的记录update 表名set 列=新值, …where 筛选条件1.2 修改多表的记录sql92语法:update 表1 as 别名, 表2 as 别名set 列=新值, …where 连接条件and 筛选条件sql99语法:update 表1 as 别名join 表2 as 别名on 连接条件set 列=新值, …where 筛选条件2. 修改单表的记录案例:修改beauty表中姓周的女神的电话为119UPDATE原创 2020-10-14 08:40:48 · 190 阅读 · 0 评论 -
MySQL笔记 11:插入语句
1. 经典插入语句insert into 表名(列名,… ) values (值)插入的值的类型要与列的类型一致或兼容INSERT INTO `beauty` ( `id`, `name`, `sex`, `borndate`, `phone`, `photo`, `boyfriend_id`) VALUES ( 13, '郎乔', '女', '1990-4-23', '15645986734', NULL,原创 2020-10-14 08:38:13 · 251 阅读 · 0 评论 -
MySQL笔记 10:联合查询
1. 说明关键字 union,将多条查询语句的结果合并成一个结果2. 引入案例查询部门编号大于90或邮箱包含a的员工信息--之前的实现SELECT * FROM `employees` WHERE `department_id` > 90 OR `email` LIKE "%a%" --联合查询实现SELECT * FROM `employees` WHERE `department_id` > 90 UNIONSELECT * FRO原创 2020-10-14 08:35:38 · 90 阅读 · 0 评论 -
MySQL笔记 09:分页查询
案例:查询前5条员工信息SELECT * FROM `employees` ORDER BY `employee_id` LIMIT 0, 5 -- 从第一条开始时,可以省略起始索引SELECT * FROM `employees` ORDER BY `employee_id` LIMIT 5 案例:查询第11条到第25条员工信息SELECT * FROM `employees` ORDER BY `employee_id` LIMIT 10, 1原创 2020-10-13 14:58:12 · 60 阅读 · 0 评论 -
MySQL笔记 08:子查询
1. 定义出现在其他语句中的 select 语句称为子查询或内查询,内部嵌套其他 select 语句的查询,称为外查询或主查询2. 分类按子查询出现的位置按结果集的行列数不同select 后:支持标量子查询标量子查询:结果集为一行一列from 后:支持表子查询列子查询:结果集为一列多行where 或 having 后:支持标量子查询,列子查询,行子查询行子查询:结果集为一行多列exists 后:支持表子查询表子查询:结果集一般为多行多列3. 实例原创 2020-10-13 14:15:18 · 69 阅读 · 0 评论 -
MySQL笔记 07:多表连接查询
1. 分类1.1 按年代分类sql92标准:仅支持内连接sql99标准【推荐】:支持内连接 + 交叉连接 + 左/右外连接1.2 按功能分类内连接:等值连接,非等值连接,自连接外连接:左外连接,右外连接,全外连接交叉连接2. sql92标准2.1 等值连接案例:查询男神名和对应的女神名SELECT `beauty`.`name`, `boys`.`boyName` FROM `beauty`, `boys` WHERE `beauty`.`boyfri原创 2020-10-13 13:52:56 · 289 阅读 · 0 评论 -
MySQL笔记 06:分组查询
1. 引入案例查询每个部门的平均工资SELECT `department_id`, AVG(`salary`), COUNT(*),FROM `employees` GROUP BY `department_id` ;2. 语法select 分组函数,列(要求出现在group by的后面)from 表【where 筛选条件】group by 分组的列表【order by 子句】3. 实例3.1 基本使用案例:查询每个工种的最高工资SELECT `jo原创 2020-10-13 13:37:29 · 74 阅读 · 0 评论 -
MySQL笔记 05:常见函数
1. 概念类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名2. 优点隐藏了实现细节提高了代码的重用性3. 调用SELECT 函数名 (实参列表) FROM 表名 ;4. 分类单行函数:如concat,length,ifnull等分组函数(统计函数,聚合函数),做统计使用5. 实例5.1 字符函数length:获取参数值的字节个数-- 4SELECT LENGTH('dudu') ;-- 10 utf-8编码,一个汉字长度为3S原创 2020-10-13 09:32:18 · 182 阅读 · 0 评论 -
MySQL笔记 04:排序查询
1. 语法SELECT 查询列表 FROM 表名 WHERE 筛选条件 ORDER BY 排序列表 [ ASC | DESC ] ;2. 特点asc代表升序,desc代表降序,如果不写的话默认为升序order by子句支持单个字段,多个字段,表达式,函数,别名order by子句一般是放在查询语句的最后面,limit子句除外3. 实例案例1:查询员工信息,要求工资从高到低排序SELECT * FROM `employees` ORDER BY `salar原创 2020-10-13 09:20:56 · 87 阅读 · 0 评论 -
MySQL笔记 03:条件查询
1. 语法:--执行顺序:312SELECT 查询列表 FROM 表名 WHERE 筛选条件 ;2. 分类:按条件表达式筛选条件运算符:> < = != <> >= <=按逻辑表达式筛选逻辑运算符:用于连接条件表达式&& 和 and:两个条件都为 true,结果为 true,反之为 false|| 和 or:只要有一个条件为 true,结果为 true,反之为 false! 和 not:如果连接的条件本身为 false原创 2020-10-13 09:14:36 · 73 阅读 · 0 评论 -
MySQL笔记 02:基础查询
1. 语法:SELECT 查询列表 FROM 表名 ;类似于:System.out.println(打印内容);2. 特点:查询列表可以是:表中的字段、常量值、表达式、函数查询的结果是一个虚拟的表格3. 实例3.1 查询表中的单个字段SELECT last_name FROM employees ;3.2 查询表中的多个字段SELECT last_name, salary, email FROM employees ;3.3 查询原创 2020-10-13 08:52:46 · 103 阅读 · 0 评论 -
MySQL笔记 01:基本概念
数据库的优点:持久化数据到本地可以实现结构化查询,方便管理数据库的相关概念:DB:数据库,即存储数据的“仓库”,保存了一系列有组织的数据DBMS:数据库管理系统,数据库是通过DBMS创建和操作的容器SQL:结构化查询语言,专门用来与数据库通信的语言1. 几乎所有的DBMS都支持SQL2. 简单易学3. 灵活使用可以进行非常复杂和高级的数据库操作数据库的特点:将数据放到表中,表再放到库中一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。表具有一些特原创 2020-10-13 09:03:11 · 60 阅读 · 0 评论