摘要:
分类 WHILE LOOP REPEAT 循环控制: Iterate类似于continue,继续,结束本次循环,继续下一次 Leave类似于 break,跳出,结束当前所在的循环 1 WHILE 语法 【标签:】WHILE 循环条件 DO 循环体; END WHILE【标签:】; 联想 WHILE( 阅读全文
posted @ 2022-11-07 17:25
yzhone
阅读(39)
评论(0)
推荐(0)
摘要:
1 If结构 功能:实现简单的双分支 语法: IF(表达式1,表达式2,表达式3) 执行顺序:如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值 应用:任何地方 2 case结构 情况1:类似于java中的switch语句,一般用于实现的等值判断 语法 CASE 变量 | 表达式 | 阅读全文
posted @ 2022-11-07 17:19
yzhone
阅读(50)
评论(0)
推荐(0)
摘要:
顺序结构:程序从上往下依次执行 分支结构:程序从两条或多条路径中选择一条去执行 循环结构:程序在满足一定条件的基础上,重复执行一段代码 阅读全文
posted @ 2022-11-07 17:15
yzhone
阅读(20)
评论(0)
推荐(0)
摘要:
含义 一组预先编译好的SQL语句的集合,理解成批处理语句 好处 1 提高代码的重用性 2 简化操作 3 减少了编译次数 并且 减少了和数据库服务器 的连接次数,提高了效率 和存储过程的区别 存储过程:可以有0或多个返回,适合做批量的插入、更新 函数:有且仅有1个返回,适合做处理数据后返回一个结果 一 阅读全文
posted @ 2022-11-07 17:15
yzhone
阅读(27)
评论(0)
推荐(0)
摘要:
DESC myp2; #错误 SHOW CREATE PROCEDURE myp2; 阅读全文
posted @ 2022-11-07 17:14
yzhone
阅读(13)
评论(0)
推荐(0)
摘要:
语法 DROP PROCEDURE 存储过程名; 阅读全文
posted @ 2022-11-07 17:13
yzhone
阅读(39)
评论(0)
推荐(0)
摘要:
存储过程和函数:类似于Java中的方法 好处: 1 提高代码的重用性 2 简化操作 3 减少了编译次数 并且 减少了和数据库服务器的连接次数,提高了效率 存储过程 含义 一组预先编译好的SQL 语句的集合,理解成批处理语句 一 创建语法 CREATE PROCEDURE 存储过程名(参数列表) BE 阅读全文
posted @ 2022-11-07 17:12
yzhone
阅读(33)
评论(0)
推荐(0)
摘要:
Delete成功回滚 #演示delete SET autocommit = 0; START TRANSACTION; DELETE FROM account; ROLLBACK; Truncate不能回滚 #演示truncate SET autocommit = 0; START TRANSACT 阅读全文
posted @ 2022-11-07 17:11
yzhone
阅读(41)
评论(0)
推荐(0)
摘要:
CREATE OR REPLACE VIEW myv1 AS SELECT name,email FROM emploees; #插入 INSERT INTO myv1 VALUES('张飞','zf@qq.com',100); #修改 UPDATE myv1 SET name = '张三' WHE 阅读全文
posted @ 2022-11-07 17:08
yzhone
阅读(98)
评论(0)
推荐(0)
摘要:
删除语法 DROP VIEW 视图名,视图名,…; 查看语法 DESC 视图名; SHOW CREATE VIEW 视图名; 阅读全文
posted @ 2022-11-07 17:04
yzhone
阅读(69)
评论(0)
推荐(0)
摘要:
方式一 语法 CREATE OR REPLACE VIEW 视图名 AS 查询语句; 方式二 语法 ALTER VIEW 视图名 AS 查询语句; 阅读全文
posted @ 2022-11-07 17:03
yzhone
阅读(147)
评论(0)
推荐(0)
摘要:
语法 Create view 视图名 As 查询语句 好处 重用sql语句 简化复杂的sql操作,不必知道它的查询细节 保护数据,提高安全性 阅读全文
posted @ 2022-11-07 17:03
yzhone
阅读(22)
评论(0)
推荐(0)
摘要:
含义: (MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果) 虚拟表 和普通的表一样使用 MySQL5.1新特性,是通过表动态生成的数据 (视图(view)是一种虚拟存在的表,是一 阅读全文
posted @ 2022-11-07 17:02
yzhone
阅读(24)
评论(0)
推荐(0)
摘要:
说明: 变量时用户自定义的,不是由系统的 使用步骤: 声明 赋值 使用(查看、比较、运算等) 1 用户变量 作用域:针对于当前会话(连接)有效,同于会话变量的作用域 应用场景:任何地方,begin end里面 或 外面 赋值的操作符 = := ① 声明并初始化 SET @用户变量名 = 值; SET 阅读全文
posted @ 2022-11-07 16:59
yzhone
阅读(145)
评论(0)
推荐(0)
摘要:
作用域:仅仅针对于当前会话(连接)有效 ① 查看 所有的 会话变量 SHOW VARIABLES; SHOW SESSION VARIABLES; ② 查看 部分的 会话变量 SHOW VARIABLES LIKE’%char%’; SHOW SESSION VARIABLES LIKE’%char 阅读全文
posted @ 2022-11-07 16:55
yzhone
阅读(94)
评论(0)
推荐(0)
摘要:
全局变量 作用域:服务器每次启动将为所有变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启 ① 查看 所有的 全局变量 SHOW GLOBAL VARIABLES; ② 查看 部分的 全局变量 SHOW GLOBAL VARIABLES LIKE ‘%char%’; ③ 查看 指定的 全局变量 阅读全文
posted @ 2022-11-07 16:55
yzhone
阅读(228)
评论(0)
推荐(0)
摘要:
说明: 变量有系统提供,不是用户定义,属于服务器层面 使用的语法: 1 查看所有的系统变量 SHOW GLOBAL | 【SESSION】 VARIABLES; 2 查看满足条件的部分系统变量 SHOW GLOBAL 【SESSION】 VARIABLES LIKE ‘%char%’; 3 查看指定 阅读全文
posted @ 2022-11-07 16:54
yzhone
阅读(30)
评论(0)
推荐(0)
摘要:
分类 系统变量 全局变量 会话变量 自定义变量 用户变量 局部变量 阅读全文
posted @ 2022-11-07 16:54
yzhone
阅读(26)
评论(0)
推荐(0)
摘要:
Savepoint 保存点;设置保存点 SET autocommit = 0; START TRANSACTION; DELETE FROM account WHERE id = 25; SAVEPOINT a;#设置保存点 DELETE FROM account WHERE id = 28; RO 阅读全文
posted @ 2022-11-07 16:53
yzhone
阅读(86)
评论(0)
推荐(0)
摘要:
对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题: 详细: · 脏读:对于两个事务T1,T2,T1读取了已经被T2更新但还没有提交的字段之后,若T2回滚,T1读取的内容就是临时且无效的 · 不可重复读:对于两个事务T1,T2,T1读取了以恶 阅读全文
posted @ 2022-11-07 16:50
yzhone
阅读(192)
评论(0)
推荐(0)
摘要:
事务的创建 隐式事务 事务没有明显的开启和结束的标记 如:insert、update、delete语句 显示事务 事务具有明显的开启和结束标记 前提:必须先设置自动提交功能为禁用 步骤: 1 开启事务 set autocommit = 0; start transaction;可选的 2 编写事务中 阅读全文
posted @ 2022-11-07 16:36
yzhone
阅读(29)
评论(0)
推荐(0)
摘要:
事务控制语言 事务:一个或一组sql语句组成一个执行单元,这个执行单元 要么全部执行,要么全部不执行 (事务是由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所 阅读全文
posted @ 2022-11-07 16:34
yzhone
阅读(93)
评论(0)
推荐(0)
摘要:
又称为 自增长列 含义 可以不用手动的插入值,系统提供默认的序列值 特点 1 标识列必须和主键搭配吗?不一定,但要求是一个key 2 一个表可以有几个标识列?最多一个 3 标识列的类型。只能是数值型 4 标识列可以通过SET auto_increment_increment = 3; 设置步长 也可 阅读全文
posted @ 2022-11-07 16:31
yzhone
阅读(34)
评论(0)
推荐(0)
摘要:
位置 支持的约束类型 是否可以起约束名 列级约束 列的后面 语法都支持,但外键没有效果 不可以 表级约束 所有列的下面 默认和非空不支持,其他支持 可以(主键没有效果) 阅读全文
posted @ 2022-11-07 16:27
yzhone
阅读(22)
评论(0)
推荐(0)
摘要:
#1 删除非空约束 ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL; #2 删除默认约束 ALTER TABLE stuinfo MODIFY COLUMN age INT; #3 删除主键 ALTER TABLE stuinfo 阅读全文
posted @ 2022-11-07 16:25
yzhone
阅读(62)
评论(0)
推荐(0)
摘要:
1 添加列级约束 ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型 新约束; 2 添加表级约束 ALTER TABLE 表名 ADD 【constraint 约束名】 约束类型(字段名) 外键的引用; 1添加非空约束 ALTER TABLE stuinfo MODIFY C 阅读全文
posted @ 2022-11-07 16:22
yzhone
阅读(214)
评论(0)
推荐(0)
摘要:
1 要求在从表设置外键关系 2 从表的外键类型和主表的关联列的类型要求一致或兼容,名称无要求 3 主表的关联列必须是一个key(一般是主键或唯一) 4 插入数据时,先插入主表,再插入从表 删除数据时,先删除从表,再删除主表 阅读全文
posted @ 2022-11-07 16:16
yzhone
阅读(25)
评论(0)
推荐(0)
摘要:
1 保证唯一性 2 是否允许为空 3 一个表中可以有多少个 4 是否允许组合 保证唯一性 是否允许为空 一个表中可以有多少个 是否允许组合 主键 √ × 最多一个 √不推荐 唯一 √ √ 可以有多个 √不推荐 阅读全文
posted @ 2022-11-07 16:15
yzhone
阅读(23)
评论(0)
推荐(0)
摘要:
一 创建表时添加约束 1 添加列级约束 语法: 直接在字段名和类型后面 追加 约束类型 即可 只支持:默认、非空、主键、唯一 USE students; CREATE TABLE stuinfo( id INT PRIMARY KEY,#主键 stuNmae VARCHAR(20) NOT NULL 阅读全文
posted @ 2022-11-07 15:44
yzhone
阅读(440)
评论(0)
推荐(0)
摘要:
常见约束 含义 一种限制,用于限制表中的数据 为了保证表中的数据的准确和可靠性 分类 Not null:非空约束 用于保证该字段的值不能为空 如:姓名、学号等 Default:默认约束 用于保证该字段有默认值 如:性别 Primary key:主键约束 用于保证该字段的值具有唯一性 且非空 如:学号 阅读全文
posted @ 2022-11-07 15:27
yzhone
阅读(30)
评论(0)
推荐(0)
摘要:
一 数值型 1 整型 Tinyint、smallint、mediumint、int / integer、bigint (根据所占的字节的大小越来越大1、2、3、4、8) 特点 ① 都可以设置无符号和有符号,默认有符号,通过unsigned设置无符号 ② 如果超出了范围,会报out or range一 阅读全文
posted @ 2022-11-07 15:27
yzhone
阅读(23)
评论(0)
推荐(0)
摘要:
一 创建库 Create database 【if exists】 库名 【character set 字符集名】; 二 修改库 – 认为不可以修改 Alter database 库名 character set 字符集名; 三 删除库 Drop database 【if exists】 库名 ⭐一 阅读全文
posted @ 2022-11-07 15:26
yzhone
阅读(38)
评论(0)
推荐(0)
摘要:
插入 一、方式一 语法 Insert into 表名(字段名,…) Value(值,…); 特点 1 要求 值的类型 和 字段的类型 要一致或兼容 2 字段的个数和顺序 不一定 与 原始表中的字段的个数和顺序一致,但必须保证之和字段一一对应 3 加入表中有可以为null的字段,注意可以通过以下两种方 阅读全文
posted @ 2022-11-07 15:25
yzhone
阅读(28)
评论(0)
推荐(0)
摘要:
语法: 7 Select 查询列表 1 From 表1 别名 2 连接类型join 表2 3 On 连接条件 4 Where 筛选 5 Group by 分组列表 6 Having 筛选 8 Order by排序列表 9 Limit 其实条目索引,条目数; 阅读全文
posted @ 2022-11-07 15:23
yzhone
阅读(23)
评论(0)
推荐(0)
摘要:
一、含义 Union:合并联合,将多次查询结果合并成一个结果 二、语法 查询语句1 Union 【all】 查询语句2 Union 【all】 … 三、意义 1 将 一条较复杂的查询语句 拆分成多条语句 2 适用于查询多个表的时候,查询的列基本是一致 四、特点 1 要求多条查询语句的查询列数必须一致 阅读全文
posted @ 2022-11-07 15:22
yzhone
阅读(65)
评论(0)
推荐(0)
摘要:
分类 Date:只保存日期 Time:只保存时间 Year:只保存年 Datetime:保存日期 + 时间 Timestamp:保存日期 + 时间 特点 字节 范围 时区等的影响 datetime 8 1000~9999 不受 timestamp 4 1970~2038 受 日期和时间类型 字节 最 阅读全文
posted @ 2022-11-07 15:22
yzhone
阅读(46)
评论(0)
推荐(0)
摘要:
较短文本 char varchar 字符串类型 最多字符数 描述及存储需求 char(M) M M:0~255之间的整数 varchar(M) M M:0~65535之间的整数 区别 写法 M的含义 特点 空间的消耗 char char(M) 最大的字符数, 可以省略,默认为1 固定长度的字符 比较 阅读全文
posted @ 2022-11-07 15:17
yzhone
阅读(46)
评论(0)
推荐(0)
摘要:
浮点型 字节 范围 float 4 不记 double 8 不记 定点型 字节 范围 DEC(M,D) DECIMAL(M,D) M+2 最大取值范围与double相同, 给定decimal的有效取值范围由M和D决定 特点 ① ⭐M、d M:整数位数 + 小数位数 D:小数部位 – 如果超过范围,则 阅读全文
posted @ 2022-11-07 15:12
yzhone
阅读(89)
评论(0)
推荐(0)
摘要:
数据类型 字节 范围 Tinyint 1 有符号:-128~127 无符号:0~255 Smallint 2 有符号:-32768~32767 无符号:0~65535 Mediumint 3 有符号: 无符号: (不用记) Int、integer 4 有符号: 无符号: (不用记) Bigint 8 阅读全文
posted @ 2022-11-07 15:08
yzhone
阅读(31)
评论(0)
推荐(0)
摘要:
常见数据类型 数值型 整数 小数 定点数 浮点数 字符型 较短的文本:char、varchar 较长的文本:text、blob(较长的二进制数据) 日期型 阅读全文
posted @ 2022-11-07 15:04
yzhone
阅读(20)
评论(0)
推荐(0)
摘要:
数据定义语言 库和表的管理 一 库的管理 创建 修改 删除 二 表的管理 创建 修改 删除 创建 create 修改 alter 删除 drop 一 库的管理 1 库的创建 语法 Create database 【if not exists】库名; 2 库的修改 Rename database ** 阅读全文
posted @ 2022-11-07 15:02
yzhone
阅读(21)
评论(0)
推荐(0)
摘要:
方式一delete 语法 1 单表的删除⭐ Delete from 表名 Where 筛选条件 2 多表的删除【补充】 92 Delete 表1的别名 From 表1 别名,表2 别名 Where 连接条件 And筛选条件 99 Delete 表1 的别名,表2的别名 From 表1 别名 Inne 阅读全文
posted @ 2022-11-07 14:59
yzhone
阅读(107)
评论(0)
推荐(0)
摘要:
1 修改单表的记录 ⭐ 语法 Update 表名 ① Set 列 = 新值,列 = 新值,… ③ Where 筛选条件; ② 2 修改多表的记录【补充】 - 用到连接 语法 92 Update 表1 别名,表2 别名 Set 列 = 值,… Where 连接条件 And 筛选条件; 99 Updat 阅读全文
posted @ 2022-11-07 14:52
yzhone
阅读(55)
评论(0)
推荐(0)
摘要:
数据操作语言 插入:insert 修改:update 删除:delete 一 插入语句 – 表已经存在 经典的插入:方式一 语法: Insert into 表名(列明,…) Value(值1,…); 特点 1 插入的值的类型 要与 列的类型 一致或兼容 2 不可以为null的列必须插入值,可以为nu 阅读全文
posted @ 2022-11-07 14:51
yzhone
阅读(56)
评论(0)
推荐(0)
摘要:
Union联合 合并:将多条查询俞军的结果合并成一个结果 语句 查询语句1 Union 查询语句2 Union … 应用场景 - 什么时候使用? 要查询的结果来自多个表,且多个表没有直接的连接关系,但查询的信息一致时 案例 #查询部门编号 > 90 或 邮箱包含1的员工信息 #独立的查询结果 通过u 阅读全文
posted @ 2022-11-07 14:46
yzhone
阅读(49)
评论(0)
推荐(0)
摘要:
一 应用场景 当要查询的条目数太多,一页显示不全 二 语法 Select 查询列表 From 表 Limit 【offset,】 size; 注: Offset:代表的是起始的条目索引,默认从0开始 Size:代表的是显示的条目数 公式 #若要显示的页数为page,每一页条目数为size SELEC 阅读全文
posted @ 2022-11-07 14:41
yzhone
阅读(46)
评论(0)
推荐(0)
摘要:
一 含义 嵌套 在其他语句内部的 select语句 称为子查询 或 内查询, 外面的语句可以是inner、update、delete、select等,一般select作为外面语句较多 外面如果为select语句,则此语句称为 外查询 或 主查询 二 分类 1 按出现位置 Select 后面 仅仅支持 阅读全文
posted @ 2022-11-07 14:38
yzhone
阅读(28)
评论(0)
推荐(0)
摘要:
SQL99语法 1 内连接 语法 Select 查询列表 From 表1 别名 【Inner】 join 表2 别名 on 连接条件 Where 筛选条件 Group by 分组列表 Having 分组后的筛选 Order by 排序列表 Limit 子句; 特点 ① 表的顺序不分主次 ② 内连接的 阅读全文
posted @ 2022-11-07 14:38
yzhone
阅读(24)
评论(0)
推荐(0)
摘要:
应用场景 当要显示的数据,一夜显示不全,需要分页提交sql请求 语法 Select 查询列表 From 表 【join type join 表2 On 连接条件 Where 筛选条件 Group by 分组字段 Having 分组后的筛选 Order by 排序的字段】 Limit 【offset, 阅读全文
posted @ 2022-11-07 14:37
yzhone
阅读(48)
评论(0)
推荐(0)

浙公网安备 33010602011771号