![](https://img-blog.csdnimg.cn/3f4d79441a8b489ab46008b16a75a657.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL学习
文章平均质量分 60
暂时主要是学习笔记来自尚硅谷的mysql课程,专栏中都是自己手打的笔记,代码也都实验过了
咖啡与乌龙
这是一个知识分享型宝藏博主,本科测控技术与仪器,研究生仪器科学与技术,自学计算机技术,目前在sangfor担任后台开发工程师,职场新人小菜鸟一枚。欢迎大家关注,相互交流,相互学习,共同进步!!!
展开
-
MySQL学习笔记之流程控制结构:分支结构 if.. case..、循环结构loop.. while.. repeat..
前言:流程控制结构分类:MySQL中的流程控制结构可分为3类如下:1.顺序结构:就是按照顺序正常执行下去2.分支结构:if、case等3.循环结构:loop、while、repeat等一、分支结构1.1 IF函数语法:IF(expr1,expr2,expr3)执行:如果expr1成立,执行expr2,否则执行expr31.2 CASE结构1.2.1实现switch CASE 功能语法:CASE 变量|表达式|字段WHEN 要判断的值1 THEN 返回的值1WHEN原创 2022-02-21 09:58:26 · 780 阅读 · 1 评论 -
MySQL学习笔记之函数的创建、删除和调用FUNCTION
前言:函数的含义以及与存储过程的异同从含义上,几乎等同于存储过程不同之处在于:存储过程:可以有0个返回值,也可以有多个返回值,适合做批量插入、批量更新函数:必须有且仅有一个返回值,适合做处理数据后返回一个结果调用方式也不一样:存储过程:CALL函数: SELECT一、函数的创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN 函数体END注意:1.参数列表包含两部分:参数名 参数类型2.函数体:必须有re原创 2022-02-21 09:32:16 · 3207 阅读 · 0 评论 -
MySQL学习笔记之存储过程的删除、创建、调用、修改、Create procedure
前言:存储过程的含义存储过程和函数:类似于高级语言中的方法函数好处:1、提高了代码的重用性2、简化操作存储过程的含义:一组预先编译好的SQL语句的集合,理解成批处理语句,其好处具体说来如下所示: 1、可提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率一、创建存储过程的语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的SQL语句)END注意:1、参数列表原创 2022-02-21 09:17:18 · 3750 阅读 · 0 评论 -
MySQL学习笔记之变量:全局变量、会话变量、用户变量、局部变量
前言:MySQL中变量的分类变量分为:系统变量和自定义变量系统变量:又分为全局变量和会话变量自定义变量:又分为用户变量和局部变量一、系统变量系统变量由系统提供,不是用户定义的,属于服务器层面使用的语法如下:1、查看所有的系统变量show global variables; -- 全局的show session variables;-- 当前会话的(当前连接)2、查看满足条件的部分系统变量show global variables like '%char%';show原创 2022-02-21 00:26:03 · 9257 阅读 · 0 评论 -
MySQL学习笔记之视图的创建、修改、删除、查看和更新以及视图与表的区别
前言:视图的含义与用途视图的定义:视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询,有点类似高级编程语言中的函数,他实现对查询步骤的封装,可以很好的进行复用SQL语句视图的好处:1、重用SQL语句2、简化复杂的SQL操作,不必知道他的查询细节3、保护数据等一、创建视图CREATE VIEW 视图名 AS 查询语句...案例1 创建视图并利用该视图查询员工中名字带有a的员工和员工的部门名字USE myemployees;CREATE VIE原创 2022-02-21 00:22:18 · 2354 阅读 · 0 评论 -
MySQL学习笔记之事务控制语言TCL、事务的创建、修改、删除、MYSQL的隔离级别
SHOW ENGINES; #查看当前的存储引擎一、事务控制语言TCL的含义与语法TCL语言:指的是事务控制语言,Transaction Control LANGUAGE事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行成功,要么全部执行失败。存储引擎:在mysql中的数据用各种不同的技术存储在文件或内存中。innodb支持事务机制,myisam、memory不支持事务机制事务的特性ACID:A:(Atomicity) 原子性,一个事务不可以再分原创 2022-02-21 00:19:22 · 353 阅读 · 0 评论 -
MySQL学习笔记之自增长列的创建、修改、删除
标识列也称为自增长列又称自增长列,重要关键字:AUTO_INCREMENT含义:可以不用手动的插入值,系统提供默认的序列值特点:自增长列必须和主键搭配嘛?不一定,但要求是一个key(主键、唯一、外键)一个表可以有几个自增长列?最多一个!自增长列的类型只能是数值型自增长列可以通过 SET auto_increment_increment=n;设置步长为n一、创建表时设置自增长列案例DROP TABLE IF EXISTS tab_ident;CREATE TABLE tab_id原创 2022-02-21 00:13:32 · 1629 阅读 · 0 评论 -
MySQL学习笔记之约束,创建约束、修改约束、删除约束
一、约束的含义与分类含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确性和可靠性分类:六大约束NOT NULL: 非空,用于保证该字段的值不能为空,比如姓名、学号DEFAULT: 默认,用于保证该字段有默认值PRIMARY KEY: 主键,用于保证该字段具有唯一性,并且非空UNIQUE: 唯一,用于保证该字段是唯一的,但是可以为空CHECK: 检查,【mysql中不支持】,用于检查值FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表原创 2022-02-21 00:11:09 · 5492 阅读 · 0 评论 -
MySQL学习笔记之MySQL中的数据类型整形、浮点数、定点数、字符型、时间日期型
MySQL中常见的数据类型一、整形1.1如何设置有符号和无符号DROP TABLE IF EXISTS tab_int;CREATE TABLE tab_int( t1 INT, --定义有符号的整形,默认显示宽度为11 t2 INT UNSIGNED, --定义无符号整形,默认显示宽度为10 t3 INT(7) ZEROFILL --定义整形的显示宽度为7);DESC tab_int;1.2整数总结分类: tinyint(1字节)、smallint(2字节)、medium原创 2022-02-21 00:07:09 · 1951 阅读 · 0 评论 -
MySQL学习笔记之DML 数据操纵语言,增删改表中的数据insert、update、delete、truncate
前言、DML 数据操纵语言Data Management Language,主要的操作对象是表中的数据,主要做的事情就是表中数据的增删改管理表中数据时主要用到的关键字插入:insert修改:update删除:delete一、插入语句(经典插入方式) insert into语法:insert into 表名(列名,......) values(值1,......);特点: ① 插入的值的类型要与列的类型一致或兼容 ② 可以为null的列如何插入值?原创 2022-02-20 20:24:24 · 636 阅读 · 0 评论 -
MySQL学习笔记之分页查询,应用LIMIT实现分页查询以及联合查询UNION
分页查询,应用LIMIT实现分页查询语法: select 查询列表 from 表 [连接类型 join] 表名 on 连接条件 [where 筛选条件] [group by 分组条件] [having 筛选条件] [order by 排序] limit [startindex],size; --分页查询其中:startindex表示要显示的条目的起始索引(从0开始)size表示要显示的条目个数特点:①、limit语句放在查询语句的最后②、公式,若每页有size原创 2022-02-20 16:33:04 · 570 阅读 · 0 评论 -
MySQL学习笔记之子查询,在关键字select、from、where、exists后的子查询
一、子查询的含义含义:出现在其他语句中的select语句,称为子查询或内查询;而外部的查询语句,称为主查询或外查询分类:按照子查询出现的位置:select后面:仅仅支持标量子查询from 后面:仅支持表子查询where或having后面:支持标量子查询、列子查询、行子查询exists后面:表子查询按照结果集的行列数不同:标量子查询:结果集只有一行一列 (又称为单行子查询)列子查询: 结果集只有一列多行 行子查询: 结果集只有一行多列表子查询: 结果集一般为多原创 2022-02-20 16:20:12 · 2800 阅读 · 0 评论 -
MySQL学习笔记之连接查询(SQL99标准) inner 、left outer、right outer、full outer、cross等
前言:sql99语法中的连接查询语法:SELECT 查询列表FROM 表1 别名[连接类型] JOIN 表2 别名 ON 连接条件[WHERE 筛选条件][GROUP BY 分组][HAVING 筛选条件][ORDER BY 排序列表]连接类型:内连接:inner外连接:左外:left [outer]右外:right [outer]全外:full [outer]交叉连接:cross一、内连接语法: SELECT 查询列表 FROM 表1 别名原创 2022-02-20 15:48:23 · 1265 阅读 · 0 评论 -
MySQL学习笔记之连接查询(本文只详细介绍 SQL 92标准的连接查询)使用where进行连接查询
连接查询(本文只详细介绍 SQL 92标准的连接查询)一、连接查询的含义与分类含义:又称为多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:假设表1 有m行 表2有n行,结果有m*n行发生原因:没有有效的连接条件解决方法:添加有效的连接条件连接条件的分类:按年代分类:SQL 92标准:仅支持内连接SQL 99标准:【推荐使用】,支持内连接+外连接(不包括全外连接)+交叉连接按功能分类:内连接:等值连接、非等值连接、自连接原创 2022-02-20 15:16:37 · 1210 阅读 · 0 评论 -
MySQL学习笔记之分组查询 GROUP BY 、WHERE、 HAVING
一、分组查询语法结构:SELECT 分组函数,列FROM 表名[WHERE 筛选条件]GROUP BY 分组的列[ORDER BY 字段]也即:对select中指定的列进行分组,然后用聚集函数(统计函数)对每个组处理注意1:分组函数/聚集函数/汇集函数指的是同一类函数,也即sum max avg等注意2:分组的列和列应该是同一字段二、案例:案例1.查询邮箱中包含a字符的,每个部门下的平均工资SELECT AVG(salary),department_idFROM employe原创 2022-02-20 14:50:15 · 823 阅读 · 0 评论 -
MySQL学习笔记之聚集函数 sum() avg() min() max() count()
####汇集函数(《MySQL必知必会》中称其为聚集函数)主要是处理整个表的一列或几列的数据sum() 求和avg() 求平均值max() 求最大值或尾行数据min() 求最小值或首行数据count() 统计 计数sum() avg() 主要用于对数值进行统计和计算;min() max() count() 都可以以上所有的函数都默认忽略null,但是COUNT()统计所有行数,不忽略nullCOUNT(1)也可以用于统计所有函数在MYISAM存储引擎下,CO原创 2022-02-20 14:23:38 · 1043 阅读 · 0 评论 -
MySQL学习笔记之常见函数,字符串处理函数、数学类函数、时间函数部分...
一、关于字符串的函数1.`length` 计算字符串的字节数2.`concat` 拼接字符串3.`upper` 小写转换成大写`lower`大写转换成小写4. `substr` 或 `SUBSTRING` 截取字符串 ,SQL中索引从1开始5.`instr` 返回子串第一次出现的索引,如果没有,返回06.`trim` 删除字符串两端的某个字符(串),默认是空格7.`lpad` 用指定字符实现左填充到指定长度(长度优先)8.`rpad` 用指定字符实现右填充到指定长度(长度优先)9.`replace` 用指.原创 2022-02-20 13:52:15 · 157 阅读 · 0 评论 -
MySQL学习笔记之排序查询 ORDER BY
排序查询语法:order by 字段 desc; 降序order by 字段 asc; 升序(默认升序)案例1:SELECT * FROM employees ORDER BY salary DESC;SELECT * FROM employees ORDER BY salary ASC;注意:多个字段排序,按照优先顺序,先排序靠前的字段,然后在相同的基础上再排序案例2:查询员工信息,先按照工资升序,再按照员工编号降序SELECT employee_id,salaryFROM e原创 2022-02-20 13:13:09 · 217 阅读 · 0 评论 -
MySQL学习笔记之条件查询和模糊查询like、between and、in、is null 、is not null...
1.条件查询以及筛选条件练习12.模糊查询①`like`也可以使用 `not like`②`between and`③`in`④`is null` 或 `is not null`⑤安全等于符号 `<=>`与`is null`的比较1.条件查询以及筛选条件--格式 select 查询列表 from 表名 where 筛选条件;--筛选条件分类: 1.条件表达式 > < =(等于) !=(不等于) <>(不等于) >= <.原创 2022-02-20 11:53:36 · 2357 阅读 · 0 评论 -
MySQL中的常见命令,查询数据库|字段|常量|函数|Distinct|CONCAT()拼接函数等
1.选择数据库2.查询字段3.查询常量4.查询表达式5.查询函数6.给变量起别名7.去重,且 distinct 之后每次只能加一个字段8.`+`号的作用:运算符①两边均为数值型,做加法运算②其中一方为字符型,则尝试将其转换为数值型,如果转换成功,则做加法运算③如果转换失败,则将字符型转换成0④如果其中一方为null,则结果为null9.拼接函数`concat(str1,str2...)`,注意null和任何数据拼接结果都是null10.上述知识的练习①显示表departments的结构,并查询其中的全部数.原创 2022-02-19 22:34:49 · 1214 阅读 · 0 评论 -
MySQL数据库之DDL语言:库和表的创建CREATE、修改ALTER、删除DROP
MySQL数据库之DDL语言:库和表的创建、修改、删除1、DDL 数据定义语言库和表的管理库的管理:创建、修改、删除表的管理:创建、修改、删除主要用到的关键字创建:create修改:alter删除:drop注意:这里的删除,是将整个表删除,删除后表将不存在;而delete和truncate表示的是对数据的操作,删除后,只是数据被删除了,但是表依旧存在2、库的管理2.1 库的创建CREATE DATABASE books;CREATE DATABASE IF.原创 2022-02-10 22:39:31 · 1567 阅读 · 0 评论