MYSQL
文章平均质量分 89
小猪弟
学就对了
展开
-
MYSQL基础之 触发器
触发器,其实其作用就是名字所体现的作用,因某些条件而触发然后执行某个程序。MYSQL5.0.2版本开始支持触发器。而MYSQL的触发器和存储过程一i杨,就是嵌入到MYSQL服务器的一段程序。触发器是由某个条件或事件触发的,比如插入,更新,删除事件。所谓的事件就是指用户动作或者触发某个条件的行为。而这个触发器就是有点像是监听其它事件的感觉,定义好触发器后,其调用不需要用户操作了,而服务器会根据触发的条件进行操作。触发器TRIGGER是一种与表操作有关的数据库对象.创建触发器格式如下:CREATE原创 2022-02-16 13:51:57 · 687 阅读 · 0 评论 -
MYSQL基础之浅聊 游标
虽然通过WHERE或者HVAING,或者是限定返回记录的关键字LIMIT返回一条记录,但是却无法像是JAVA中对对集合操作那样,可以定义一个集合存储数据的位置或者随意定义集合中的任意一个位置,然后对记录的数据进行处理。而MYSQL为了解决这个问题,就使用到了游标,这样提供了一个灵活的操作方式,让用户可以对记过集中的每一个记录进行定位,然后对指定的记录中的数据进行操作。因此游标让SQL这种面向集合的语言拥有了面向过程的开发能力。游标是一种临时的数据库对象,可以指向存储再数据库表中的数据行,通过操作游标来对原创 2022-02-14 21:21:40 · 937 阅读 · 0 评论 -
MYSQL基础之浅聊 分支,循环以及跳出语句
其实前面演示存储过程和函数都是一种顺序结构,但是和JAVA 中的编程有分支和循环,所以这里就聊一下MYSQL的流程控制。顺序结构:程序由上而下执行分支结构:程序按条件进行选择执行,通过条件在两条以及多条路径中选择一条执行。循环结构:程序满足条件下,重复执行某些SQL语句。这个是三种执行结构而流程控制有3类(注意:只能用于存储程序):条件判断语句:IF和CASE循环语句:LOOP,WHERE和REPEAT跳转语句:ITERATE和LEAVE分支分支结构-IF具体格式:IF 条件1原创 2022-02-14 18:47:03 · 2514 阅读 · 0 评论 -
MYSQL基础之浅聊 自定义条件以及处理错误
前面写了一些存储函数和存储过程,一直说其调试有难度,但是具体是否可以进行呢。所以在MYSQL通过定义条件和处理过程来解决这个问题。定义条件:是事先定义程序执行过程中可能语句的问题处理程序:定义了在遇到问题时应当采取的处理方式,并且保证存储过程或者函数在遇到错误或者警告能继续执行。这样可以增加存储程序或函数处理问题的能力,避免程序异常停止运行。其实这个如果用语言阐述的话,说实话我也会懵逼# 首先创建一个表 然后插入数据CREATE TABLE test_1(t_id INT NOT原创 2022-02-13 20:10:59 · 1162 阅读 · 0 评论 -
MYSQL基础之浅聊 变量
在前面聊存储过程和函数的时候简单的用了赋值变量,现在聊一下变量在MYSQL数据库的存储过程和函数种,可以使用变量存储查询或者计算中间的数据,或者输出最终的结果数据。MYSQL种的变量分为系统变量和自定义变量系统变量看其名知道其意思,就是这些是系统自己定义好的,而不是用户定义的,属于服务器层面。系统变量分类启动MYSQL服务,生成MYSQL服务器实例期间,MYSQL将为MYSQL服务器内存种系统变量赋值,这些系统变量定义了当前MYSQL服务实例种的属性,特赠。这些系统变量的值包含:编译MYSQL时参原创 2022-02-11 21:40:48 · 1024 阅读 · 0 评论 -
MYSQL基础之 存储函数和存储过程
在其它变编程中,为了方便某些重复的操作,而将一些逻辑代码提炼出来,然后作为一个新方法或者新的类。而SQL作为一个也可称之为编程语言,自然也是可以有类似的操作。而这个就是存储过程和存储方法,这两者能够将复杂的SQL语言封装在一起,使用者或者应用程序无需指定其执行的复杂逻辑,只需要简单的调用即可。其实解决问题上存储过程和存储函数很像,但是各自又有不同。存储过程概念存储过程其实简单的理解就是一组经过预编译的SQL语句的封装。存储过程预先存储在MySQL服务器上,需要执行的时候,客户端之间向服务器发出调用原创 2022-02-10 16:47:46 · 862 阅读 · 0 评论 -
MYSQL基础之 视图
概念什么是视图?视图是基于 SQL 语句的结果集的可视化的表。当然视图也是数据库中对象之一,其它的对象包括:表,数据字典,约束,索引,触发器,存储过程,以及存储函数。这些后面再聊,本篇主要聊的就是视图。而视图本身不存储数据,而是通过映射原表,方便用户对数据进行查看和操作。视图让用户使用表或者多个表的一部分数据,而不是所有的表数据。这样可以针对不同的用户定制不同的查询视图,这样让同样的数据对不同的人呈现不同的假表数据,其实保证了数据的安全。视图时一种虚拟表,本身是不具有数据,占用很少的内存空间,是原创 2022-01-26 13:43:58 · 3298 阅读 · 0 评论 -
MYSQL基础之约束
前面聊增删改的时候,说到了约束,本章就这个问题聊一下,其实约束很多时候都是再创建的时候就设置或者添加的,毕竟约束毕竟对数据影响还是很大的。概述为什么要有约束数据的完整性是指数据的精确性以及可靠性。他是房主数据库中存在不符合予规范的数据和防止因错误信息的输入输出造成的无效操作和错误信息而提出的。前面聊数据类型的时候,可以看出在创建数据库的时候考虑好存储的数据类型以及数据长度,但是为了数据的完整性,SQL规范以约束的方式对表的数据进行了额外的条件限制。需要从四个方面考虑:实体完整性:例如,同一个表中原创 2022-01-21 16:01:57 · 1739 阅读 · 0 评论 -
MYSQL基础之增删改数据
前面几乎聊的都是MYSQL的查询,现在聊以增删改,毕竟这几个时DML中常用的几种操作。现在创建一个表CREATE TABLE test(a INT,b VARCHAR(10),c DATE)添加数据常规插入添加数据很简单,就是向数据库中添加数据,这个不是前面的说的直接向数据库中导入sql文件。格式:--value 也可以实现但是一般默认式用values-- 单行INSERT INTO tablename [(字段名,字段名....) ]values (值,值...);-- 多原创 2022-01-18 20:02:58 · 685 阅读 · 0 评论 -
MYSQL基础之创建数据库表,以及修改表
前面聊查询,但是查询数据的前提是需要提前存储数据,而存储数据提前需要的是有数据表,而表是存在在数据库中的。所以现在开始聊一些创建数据库,以及创建表的内容。当然在创建数据库之前,先看一下其需要遵守的规范。命名规则数据库名,表名不得超过30个字符,变量名限制为29个必须只能包含A-Z,a-z,0-9,_ 共63个字符数据库名,表名,字段名等对象名中间不能包含空格同一个MYSQL中,数据库不能同名,同一个数据库中表名不能重复,同一个表中字段名不能重复。尽量保证字段没有和保留字,数据库系统或常用的方原创 2022-01-09 23:02:30 · 1104 阅读 · 0 评论 -
MYSQL基础之数据类型
现在开始聊一些数据库中的数据类型,毕竟前面查询的时候很少涉及到这个,而对于无论创建数据库还是数据库的增改都会涉及到一些数据库数据类型,这个就像是其它编程语言一样。毕竟存放数据库中的数据可能不一样,比如数字,日期以及字符串等,那么在存储的时候,自然不会将其当作一类数据进行存储,毕竟不同的数据类型,存储在MYSQL中自然也会有不同的类型,这样方便在查询的时候用不同的数据类型的方法,这个感觉又像是像是JAVA中的数据类型,虽然一些方法可以同时,使用一些有各自有差异。前面聊了查询,先不了其如何更新数据以及插入数原创 2022-01-06 17:42:24 · 1060 阅读 · 0 评论 -
MYSQL基础之函数:子查询分类单行和多行,关联和非关联
前面聊了一些查询的东西,现在聊SELECT中相对而言最难的一部分—子查询。子查询指一个查询语句中嵌套在另一个查询语句内部的查询,这个特性从MYSQL4.1开始引入。SQL中子查询的使用大大增强了SELECT查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据的结果进行比较。说实话这个地方用文字进行描述的话,有点绕。还是多用操作演示,这样比较好理解,先看一下所用的表部门表提出一个需求,那就是工资比SCOTT工资高的员工有谁?-- 按照原创 2021-12-29 16:46:46 · 1362 阅读 · 0 评论 -
MYSQL基础之函数:聚合函数,以及GROUP BY HAVINN
其实前面聊的很多函数,其实单行函数。现在我们开始聊一些聚合函数,所以本章就是聊一些常见的聚合函数。常用的聚合函数函数作用AVG()求平均值SUM()求和COUNT()算出有多少个MIN()求最小值MAX()求最大值上面的方法只是常用的,而不是所有的,比如还有什么中位数等方法。还是用员工表进行演示,员工表如下:SELECT MAX(sal),MIN(sal),AVG(sal),COUNT(sal),SUM(sal) FROM test原创 2021-12-28 18:29:17 · 1740 阅读 · 0 评论 -
MYSQL基础之函数:流程函数以及加解密等函数
无论任何语言都应该有自己的控制流程的函数,而Mysql 也是。其用到的关键字和其它的编程语言差不多也是IF,CASE等,所以本篇最重要的函数就是控制流程。控制流程函数流程控制说白了就是根据不同的条件,执行不同的处理流程。可以在SQL语句中实现不同的条件选择。所以下面还是先将常用的处理函数列出。函数作用IF(v,v1,v2)如果v的值为true,返回v1,否则返回v2IFNULL(v1,v2)如果值为NULL,返回v1,否则返回v2CASE WHERE 条件1 THE原创 2021-12-27 17:47:08 · 649 阅读 · 0 评论 -
MYSQL基础之函数:日期,时间函数
上一篇演示一些数值函数还有字符串函数,这个一篇聊日期函数。获取日期时间这个主要得到的是当前日期的一些函数。函数作用CURDATE() / CURRENT_DATE()返回当前日期,只能包含年月日,默认格式是yyyy-mm-ddCURTIME() / CURRENT_TIME()返回当前时间,只包含时,分,秒默认格式是hh:mm:ssNOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMES原创 2021-12-22 09:58:36 · 832 阅读 · 0 评论 -
MYSQL基础之函数:数值函数和字符串函数
函数是所有计算机编程语言中几乎都有的。一般都有内置和自定义函数,而现在聊内置函数,就是DBMS中直接可以用的函数。但是有一一点需要说,就是DBMS本身就有很多差异,比版本的禅意更大。简单的说就是很少有函数是所有DBMS都支持的,比如DBMS中的+连接字符串,但是在MYSQL中却无法使用其拼接函数是concat()。也就意味着DBMS各自有各自的函数,意味着SQL函数的代码可移植性很差。而MYSQL中的种类大体分为数值函数,字符串函数,日期和时间函数,流程控制函数,加密和解密函数,以及其它函数。内置函数有根原创 2021-12-20 20:18:04 · 809 阅读 · 0 评论 -
MYSQL基础之多表查询:内外连接以及等值非等值连接
其实前面说过数据库一句话:这个就设计到一个E-R(entity -relatiosn 实体--联系)模型,其主要设计到三个主要概念:实体集,属性,联系集。联系集本质就是表之间的关系,现在聊一些表之间的关系,毕竟这个也是数据库中最重要的组成部分之一。毕竟对数数据不可能放在一张表中。首先看下数据库中表之间的关系在看一下具体的数据:部门表(dept)数据:员工表(emp)数据:工资等级表(slgrade):可以看出表之emp表和dept表之间有关联,可以通过部门号进行关联。其实在表与表之原创 2021-12-19 21:34:30 · 2604 阅读 · 0 评论 -
MYSQL基础之排序(ORDER BY)和分页(LIMIT)
其实对数据的操作,必然会使用一个操作,就是排序。ORDER BY(排序)那就是这个关键字,先看演示。-- 安装工资排序SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM test.emp ORDER BY sal当然这个也可以有多个字段SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM test.emp ORDER BY sa原创 2021-12-18 20:52:56 · 4624 阅读 · 0 评论 -
MYSQL基础之运算符
什么语言都会涉及到运算的,SQL也不例外,而其运算符,又可以分以下几种:算术运算符,比较运算符,逻辑运算符,位运算符。算术运算符这个运算符主要用于数学运算,这个也是常见的一些加减乘除等运算运算符作用例子+加法运算符,计算两个或者表达式的和SELECT A+B-减法运算符,计算两个或者表达式的差SELECT A-B*乘法运算符,计算两个或者表达式的乘积SELECT A*B/或者DIV除法运算符,计算两个或者表达式的商SELECT A/B 或 SEL原创 2021-12-17 18:57:23 · 1034 阅读 · 1 评论 -
MYSQL基础之SQL语句概念,规范,以及了解SELECT
SQL 的简介1974年,IBM研究员发布了一篇揭开了数据库技术的论文《SEQUEL:一门机构化的英语查询语言》,直到新增这个查询语言也没有太大的变化。可以看出SQL语言的生命力之强。无论是前端工程师,还是后端算法工程师,都需要和数据打交道,都需要快速精确的得到自己想要的数据,更不要说数据分析师了,他们的工作就是和数据打交道,所以可以看出数据库的对很多工程师来说是必备的一个技能。SQL是使用关系模型的数据据应用语言,于数据直接打交道的,由于IMB上世纪70年底开发出来,之后又美国国家标准局(ANSI)原创 2021-12-16 20:43:29 · 1095 阅读 · 0 评论 -
数据库之mysql:了解数据库一些概念
任何开发只要有数据呈现,都会用到数据库,本篇我们就聊一下mysql数据库。mysql的版本最神奇的是从5.7直接跳跃到8.0版本,可见8.0版本在功能上做了显著的增强和改进,开发者对MYSQL的源代码进行了重构,最突出的一点是多Mysql Optimizer( Optimizer即数据库优化器) 优化器进行了改进。不仅在速度上得到了改善,还为用户代理了更号的性能和更棒的体验。其实市面上有很多的数据库,但是为什么要选择Mysql呢?具有一下特点:开源代码,使用成本低。性能相对卓越,服务也稳定,所以原创 2021-12-16 11:16:54 · 510 阅读 · 0 评论