
MySQL 笔记
文章平均质量分 67
个人学习笔记,欢迎交流指正~
JS.Huang
卷不动了,可以躺平吗
展开
-
【MySQL】函数
创建函数create function 函数名(参数列表) returns 返回类型begin 函数体end参数列表:参数名 参数类型函数体最后要有 return 值; 语句,没有的话,会报错函数体中只有一句话时,可以省略 begin end 语句可以使用 delimiter 结束标记 语句设置函数结束标记函数内部可以定义用户变量 & 局部变量调用MySQL8 需要设置一下操作,才能运行函数:show variables like 'log_bin_trust原创 2021-06-19 14:50:24 · 165 阅读 · 0 评论 -
【MySQL】流程控制语句
分支结构case 结构作为表达式 → 嵌套在其他语句中使用 → 可以放在任何地方作为独立的语句去使用 → 只能放在 begin end 中用法1:效果参考 switch … case … 语句case 字段|表达式|变量when 常量1 then 返回值1when 常量2 then 返回值2else 默认返回值 -- else 可以省略end -- 没有满足的条件则返回 nulleg:查询读者性别select readerName, sex, case sex原创 2021-06-19 14:47:14 · 292 阅读 · 0 评论 -
【MySQL】存储过程
存储过程一组预先编译好的 SQL 语句的集合,可以理解成批处理语句。作用:提高代码的重用性简化操作减少编译次数、减少了和数据库服务器的连接次数,提高效率创建create procedure 存储过程名(参数列表)begin 存储过程体(一组合法的 SQL 语句)end参数列表:参数模式 参数名 参数类型参数模式:in:该参数需要输入(默认)out:该参数可以输出inout :既需要传入值,又可以输出如果存储过程体中只有一条 SQL 语句,begin end原创 2021-06-19 11:16:30 · 771 阅读 · 0 评论 -
【MySQL】变量
变量系统变量 = 全局变量 + 会话变量自定义变量 = 用户变量 + 局部变量系统变量属于服务器层面,必须拥有 super 权限才能为系统变量赋值全局变量作用域:服务器每次启动时,会初始化全局变量,对所有的会话(连接)都有效。这些初始值可以通过设置 my.ini 文件而更改会话变量作用域:服务器每次建立一个新的连接时,会初始化会话变量,只对当前会话(连接)有效操作会话变量 → session (默认)操作全局变量 → global展示所有的系统变量show globa原创 2021-06-19 10:29:59 · 390 阅读 · 0 评论 -
【MySQL】视图
视图一种虚拟表,用法参考普通表,是通过表动态生成的对应的基本表的数据发生变化后,视图的结果也会跟着变化在数据字典(数据库系统表)中仅存放创建视图的语句,不存放视图对应的数据视图的作用:重用 sql 语句简化 sql 操作保护数据,提高安全性eg:查询姓张的学生名和专业名普通方法select stuName, majorNamefrom stiInfo sinner join major m on s.majorId = m.diwhere s.stuName li原创 2021-06-19 09:28:44 · 1200 阅读 · 0 评论 -
【MySQL】数据的查询
查询数据select 列名 from 表名;查询结果是一张虚拟表,虚拟表不会真正存储每次执行查询只是从数据表中提取数据,并按照表的形式显示出来标识符有特殊符号时,要加上 ``select 可以查询常量值、表达式、函数select 100; -- 100select 100 * 2 'result'; -- 200select now(); -- 返回当前时间其别名:asselect 列名 [as] '别名' from 表名 [as] '别名'; -- as 可以不写原创 2021-06-18 20:06:04 · 169 阅读 · 0 评论 -
【MySQL】流程控制结构
分支结构if 函数效果参考三元运算符select if(5<10, '大', '小'); -- 大case 结构作为表达式 → 嵌套在其他语句中使用 → 可以放在任何地方作为独立的语句去使用 → 只能放在 begin end 中方法1:效果参考 switch case 语句case 字段|表达式|变量when 常量1 then 返回值1 【语句1;】when 常量2 then 返回值2 【语句2;】else 默认返回值 【语句n;】 -- else 可以省略end原创 2021-06-08 14:43:29 · 140 阅读 · 0 评论 -
【MySQL】聚合函数
聚合函数不会计算值为 null 的记录可以与 distinct 搭配使用:函数(distinct 字段名1, 字段名2)和聚合函数一同查询的字段,必须跟在 group by 后参与分组count ( )返回某字段的行数select count(`id`) as '总数' from `students`;select count(distinct, `name`) as '总人数' from `students`; -- 与 distinct 搭配使用select count(*)原创 2021-06-08 14:35:05 · 156 阅读 · 0 评论 -
【MySQL】单行函数
字符函数length ( )返回字符串的字节长度select length('asd'); -- 3select length('数据库'); -- 9不一样的编码格式,对中文的编码不一样:utf-8 → 3 字节gbk → 2 字节查看默认字符集:show variables like '%char%';concat ( )拼接字符串select concat(`StuId`, '·', `StuName`) '学生信息' from `StuInfo`;注意:原创 2021-06-06 16:16:04 · 198 阅读 · 0 评论 -
【MySQL】约束的介绍与使用
约束约束条件说明not null非空约束 → 字段值不允许为空unique唯一约束 → 字段值必须唯一,但允许为 nulldefault(默认值)默认约束 → 赋予某字段默认值primary key主键约束 → 记录的唯一标识(not null & unique),一张表中只有一个主键foreign key外键约束 → 一般在从表中添加外键约束,用于引用主表中主键字段auto_increment自增列,一般为主键设置,一张表中只有一个自原创 2021-06-06 16:10:54 · 368 阅读 · 0 评论 -
【MySQL】数据的操作
操作数据库查看所有数据库show databases;创建数据库create database [if not exists] `数据库名`;更改数据库的字符集类型alter database books character set gbk;查看创建数据库时用的语句show create database `数据库名`;使用数据库use `数据库名`;查看正在使用的数据库select database();删除数据库drop database [if ex原创 2021-06-06 16:01:38 · 149 阅读 · 3 评论 -
【MySQL】数据类型
数值类型整数整数类型取值范围存储需求TinyInt(size)有符号:-128 ~ 127;无符号:0 ~ 2551 字节SmallInt(size)有符号:-32768 ~ 32767无符号:0 ~ 655352 字节MediumInt(size)有符号:-223~223-1无符号:0~224-13 字节INT(size)(size 默认为 11)有符号:-231~231-1无符号:0~232-14 字节BIGINT(size)有符号:-原创 2021-06-06 15:37:54 · 202 阅读 · 2 评论