MySQL随笔
文章平均质量分 79
TAK_楼兰
这个作者很懒,什么都没留下…
展开
-
Mysql 其他 学习随笔(15) 流程控制结构
流程控制结构顺序结构:程序从上往下依次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件的基础上,重复执行一段代码一、分支结构1.if 函数功能:实现简单的双分支语法:select if(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则if 函数返回表达式2的值,否则返回表达式3的值应用:任何地方2.case结构情况1:类型于java中的switch语句,一般用于实现等值判断情况2:类似于java中的多重IF语句,一般用于实现区间判断.原创 2020-12-05 20:42:05 · 118 阅读 · 0 评论 -
Mysql 其他 学习随笔(14) 存储过程和函数
存储过程和函数存储过程和函数,类似于java中的方法好处:1、提高代码的重用性2、简化操作存储过程含义:一组预先编译好的SQL语句的集合,理解为批处理语句好处:1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率一、创建语法create procedure 存储过程名(参数列表)begin存储过程体(一组合法有效的SQL语句)end注意:1、参数列表包含三部分参数模式、参数名、参数类型举例:IN stuname VARCHA原创 2020-12-01 00:13:36 · 181 阅读 · 0 评论 -
Mysql 其他 学习随笔(13) 变量
变量系统变量: 全局变量 会话变量自定义变量: 用户变量 局部变量1.系统变量说明:变量由系统提供,不是用户定义,属于服务器层面注意:如果是全局级别,则需要加global如果是会话级别,则需要加session如果不写,则默认为session使用语法:1、查看所有的系统变量SHOW global/【session】 VARIABLES;2、查看满足条件的部分系统变量SHOW global/【session】 VARIABLES LIKE '%char%';原创 2020-11-30 01:58:24 · 144 阅读 · 0 评论 -
Mysql 其他 学习随笔(12) 视图
视图含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成,只保存sql逻辑,不保存查询结果。好处:1、简化sql语句2、提高了sql的重用性3、保护基表的数据,提高了安全性案例:查询姓张的学生名和专业名SELECT stuname,majornameFROM stuinfo sINNER JOIN major mON s.`majorId`=m.`id`WHERE stuname LIKE "张%";添加视图:C原创 2020-11-30 01:58:05 · 141 阅读 · 0 评论 -
Mysql TCL 学习随笔(11) 事务
TCL 事务控制语言Transaction Control Language 事务控制语言事务:一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。在mysql中用的最多的存储引擎有:InnoDB,MyISAM,MEMORY等,其中InnoDB支持事务,而MyISAM、MEMORY等不支持事务。事务的ACID属性1.原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。2.一致性(Consistency)事务必原创 2020-11-29 16:44:54 · 67 阅读 · 0 评论 -
Mysql DDL 学习随笔(10) 标识列(自增长)
标识列又称为自增长列含义:可以不用手动地插入值,系统提供默认的序列值特点:1、标识列不一定要和主键搭配,但要求是一个KEY2、一个表至多有一个标识列·3、标识列的类型只能是数值型4、标识列可以设置步长和起始值一、创建表时设置标识列CREATE TABLE tab_identity( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20));INSERT INTO tab_identity VALUES(NULL,'john');IN原创 2020-11-28 23:28:07 · 108 阅读 · 0 评论 -
Mysql DDL 学习随笔(9) 常见约束
常见约束含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名、学号等 DEFAULT:默认,用于保证该字段有默认值 比如性别 PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空 比如学号、员工编号 UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空 比如座位号 CHECK:检查约束 【mysql中不支持】 比如年龄、性别原创 2020-11-30 01:57:44 · 351 阅读 · 0 评论 -
Mysql DDL 学习随笔(8) 数据类型
常见的数据类型数值型: 整型 小数:定点数、浮点数字符型: 较短的文本:char、varchar 较长的文本:text、blob(较长的二进制数据)日期型:一、整型分类:tinyint、smallint、mediumint、int/integer、bigint1 2 3 4 8特点:①如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigne原创 2020-11-27 22:22:46 · 160 阅读 · 0 评论 -
Mysql DDL 学习随笔(7) 库表的增删改
DDL数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建:create修改:alter删除:drop一、库的管理1、库的创建语法:create database 【if not exists】库名;CREATE DATABASE IF NOT EXISTS books;2、库的修改改变库的字符集ALTER DATABASE books CHARACTER SET gbk;3、库的删除DROP DATABASE IF EXISTS bo原创 2020-11-27 19:16:28 · 98 阅读 · 0 评论 -
Mysql DML 学习随笔(6) 增删改
DML语言数据操作语言:插入:insert修改:update删除:delete一、插入语句方式一:经典的插入语法:insert into 表名(列名,…) values(值1,…);方式二:语法:insert into 表名set 列名=值,列名=值,…两种方式大PK:1、方式一支持插入多行,方式二不支持2、方式一支持子查询,方式二不支持二、修改数据1.修改单表的记录语法:update 表名set 列=新值,列=新值,…where 筛选条件;2.修改多表的记录【补原创 2020-11-26 20:59:33 · 137 阅读 · 0 评论 -
Mysql DQL学习随笔(5) 分页、联合查询
分页查询应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求语法: select 查询列表 from 表名 【join type join 表2 on 连接条件 where 筛选条件 group by 分组字段 having 分组后的筛选 order by 排序的字段】 limit offset,size; offset 要显示条目的起始索引(起始索引从0开始) size 要显示的条目个数特点: ①limit语句放在原创 2020-11-26 20:59:08 · 149 阅读 · 0 评论 -
Mysql DQL 学习随笔(4) 子查询
子查询含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置: select后面: 仅仅支持标量子查询 from后面: 支持表子查询 where或having后面: 标量子查询 列子查询 行子查询 exists后面(相关子查询): 表子查询按结果集的行列数不同: 标量子查询(结果集只有一行一列) 列子查询(结果集只有一列多行)原创 2020-11-25 02:23:57 · 95 阅读 · 0 评论 -
Mysql DQL 学习随笔(3) 连接查询
连接查询含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件分类: 按年代分类: sql192标准:仅仅支持内连接 sql199标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接 按功能分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接 右外连接原创 2020-11-24 01:22:32 · 192 阅读 · 0 评论 -
Mysql DQL 学习随笔(2) 分组查询
分组查询语法select 分组函数,列(要求出现在group by的后面)from 表【where筛选条件】group by 分组的列表【order by 子句】注意:查询列表必须特殊,要求是分组函数和group by后出现的字段特点:1.分组查询中的筛选条件分为两类数据源 位置 关键字分组前筛选 原始表 group by 子句的前面 where分组后筛选 分组后的结果集 group by 子句的后面 having①分组函数做条件肯原创 2020-11-23 13:09:30 · 237 阅读 · 0 评论 -
Mysql 学习随笔(1) 函数
转义ESCAPE转义SELECT last_name FROM employeesWHERE last_name Like '_$_%' ESCAPE '$';安全等于 <=>IS NULL:仅仅可以判断NULL值,可读性较高<=>:既可以判断NULL值,又可以判断普通的数值,可读性较低例:查询没有奖金的员工名和奖金率SELECT last_name, commission_pctFROM employeesWHERE commis原创 2020-11-23 12:47:15 · 94 阅读 · 0 评论 -
Mysql 窗口函数
专用窗口函数rank, dense_rank, row_number排序问题:例:题目:下图是"班级"表中的内容,记录了每个学生所在班级,和对应的成绩。select *, rank() over (order by 成绩 desc) as ranking, dense_rank() over (order by 成绩 desc) as dese_rank, row_number() over (order by 成绩 desc) as row_numfrom 班级得到结果:转载 2020-11-28 17:05:04 · 528 阅读 · 0 评论