首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL学习笔记-进阶部分

1、MySQL编程MySQL是一个关系型数据库管理系统,它将数据保存在不同表以提供数据灵活性。MySQL所使用 SQL 是用于访问数据库最常用标准化语言。...MySQL基础介绍 部分创建数据库、创建数据表、更新数据、查询数据等语句都是MySQL编程一部分。1.1、MySQL编程组成在 MySQL 编程,可以将其分为以下4类。...MySQL触发器执行顺序是,before 触发器、表操作、after 触发器。...Not allowed to return a result set from a trigger’,原因:MySQL5开始不支持触发器返回结果集。...- 列出当前用户对当前目录所有模式中所有表权限-- show grants;3、MySQL异常处理3.1、定义条件定义条件就是给MySQL错误码命名,这有助于存储程序代码更清晰。

24510

MySQL进阶知识(最全)(精美版)

笛卡尔积角度讲就是笛卡尔积挑出ON子句条件成立记录。 LEFT JOIN 左连接LEFT JOIN含义就是求两个表交集外加左表剩下数据。...依旧笛卡尔积角度讲,就是先从笛卡尔积挑出ON子句条件成立记录,然后加上左表剩余记录, 赋值为NULL OUTER JOIN 外连接就是求两个集合集。...笛卡尔积角度讲就是笛卡尔积挑出ON子句条件成立记录,然后加上左表剩余记录,最后加上右表剩余记录 日期: now():当前具体时间和日期 curdate():当前日期 curtime...⽐:如果 A 账户转账到 B 账户,不可能因为 A 账户扣了钱,⽽ B 账户没有加钱。 3....索引是存储引擎用于快速找到记录一种数据结构.

2.5K21
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL基础及原理

SELECT 字段 FROM DUAL:MySQL内置公共表输出结果集 DUAL关键字用于访问sys用户下一张公共虚拟表(非实际存在)。...九、UNION实现7种多表查询 内连接 SELECT 字段1,字段2 FROM 表1 JOIN 表2 ON 查询条件; 左外连接 如左上图 SELECT 字段......再MySQL 8.0,将自增主键计数器持久化到重做日志,每次计数器发生改变,都会将其写入重做日志。...二十三、触发器 为什么需要触发器 在实际开发,我们经常会遇到这样情况:有 2 个或者多个相互关联表,商品信息和 库存信息 分别存放在 2 个不同数据表,我们在添加一条新商品记录时候,为了保证数据完整性...这样一来,就不用担心因为忘记添加库存数据而导致数据缺失了。 触发器概述 MySQL 5.0.2 版本开始支持触发器MySQL触发器和存储过程一样,都是嵌入到MySQL服务器一段程序。

3.8K20

SQL 语法速成手册

删除表指定数据 DELETE FROM user WHERE username = 'robot'; 清空表数据 TRUNCATE TABLE user; 查询数据 SELECT 语句用于数据库查询数据...DISTINCT 用于返回唯一不同值。它作用于所有列,也就是说所有列值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行, 0 开始;第二个参数为返回总行数。...,生成一个结果集,其中包含来自 UNION 参与查询提取行。...在这之后语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 定义了 NEW 和 OLD 关键字,用来表示触发器所在表,触发了触发器那一行数据。...取值为 BEFORE 或 AFTER。 trigger_event: 触发器监听事件。取值为 INSERT、UPDATE 或 DELETE。 table_name: 触发器监听目标。

16.8K20

SQL 语法速成手册

删除表指定数据 DELETE FROM user WHERE username = 'robot'; 清空表数据 TRUNCATE TABLE user; 查询数据 SELECT 语句用于数据库查询数据...DISTINCT 用于返回唯一不同值。它作用于所有列,也就是说所有列值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行, 0 开始;第二个参数为返回总行数。...,生成一个结果集,其中包含来自 UNION 参与查询提取行。...在这之后语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 定义了 NEW 和 OLD 关键字,用来表示触发器所在表,触发了触发器那一行数据。...取值为 BEFORE 或 AFTER。 trigger_event: 触发器监听事件。取值为 INSERT、UPDATE 或 DELETE。 table_name: 触发器监听目标。

17.1K40

MySQL数据库实用技巧

DECIMAL在MySQL是以字符串存储用于定义货币等对精确度要 求较高数据。在数据迁移,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最 好不要这样使用。...14、如何日期时间值获取年、月、日等部分日期或时间值?   ...MySQL,日期时间值以字符串形式存储在数据表,因此可以使用字符串函数分别截取日期时间值不同部分,例如某个名称为dt字段有值“2010-10-01 12:00:30”,如果只需要 得年值,可以输入...修改配置文件default-character-set和character-set-server参数值,将其改为想要字 符集名称,gbk、gb2312、latinl等,修改完之后重新启动MySQL...灵活运用触发器将为操作省去很多麻烦。 30、及时删除不再需要触发器。   触发器定义之后,每次执行触发事件,都会激活触发器执行触发器语句。

2.5K10

Mysql 快速指南

示例 删除表指定数据 DELETE FROM user WHERE username = 'robot'; 清空表数据 TRUNCATE TABLE user; 查询数据 要点 SELECT 语句用于数据库查询数据...DISTINCT 用于返回唯一不同值。它作用于所有列,也就是说所有列值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行, 0 开始;第二个参数为返回总行数。...,生成一个结果集,其中包含来自 UNION 参与查询提取行。...取值为 BEFORE 或 AFTER。 trigger_event: 触发器监听事件。取值为 INSERT、UPDATE 或 DELETE。 table_name: 触发器监听目标。...NEW 和 OLD MySQL 定义了 NEW 和 OLD 关键字,用来表示触发器所在表,触发了触发器那一行数据。

6.8K20

告诉你38个MySQL数据库小技巧!

DECIMAL在MySQL是以字符串存储用于定义货币等对精确度要 求较高数据。在数据迁移,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最 好不要这样使用。...14、如何日期时间值获取年、月、日等部分日期或时间值?...MySQL,日期时间值以字符串形式存储在数据表,因此可以使用字符串函数分别截取日期时间值不同部分,例如某个名称为dt字段有值“2010-10-01 12:00:30”,如果只需要 得年值,可以输入...修改配置文件default-character-set和character-set-server参数值,将其改为想要字 符集名称,gbk、gb2312、latinl等,修改完之后重新启动MySQL...灵活运用触发器将为操作省去很多麻烦。 30、及时删除不再需要触发器触发器定义之后,每次执行触发事件,都会激活触发器执行触发器语句。

2.6K10

37 个 MySQL 数据库小技巧,不看别后悔!

DECIMAL在MySQL是以字符串存储用于定义货币等对精确度要 求较高数据。在数据迁移,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最 好不要这样使用。...14、如何日期时间值获取年、月、日等部分日期或时间值?...MySQL,日期时间值以字符串形式存储在数据表,因此可以使用字符串函数分别截取日期时间值不同部分,例如某个名称为dt字段有值“2010-10-01 12:00:30”,如果只需要 得年值,可以输入...修改配置文件default-character-set和character-set-server参数值,将其改为想要字 符集名称,gbk、gb2312、latinl等,修改完之后重新启动MySQL...灵活运用触发器将为操作省去很多麻烦。点击这里总结了55道去BAT面试MYSQL面试题。 30、及时删除不再需要触发器触发器定义之后,每次执行触发事件,都会激活触发器执行触发器语句。

1.8K20

SQL语法速成手册,建议收藏!

删除表指定数据 DELETE FROM user WHERE username = 'robot'; 清空表数据 TRUNCATE TABLE user; 查询数据 SELECT 语句用于数据库查询数据...DISTINCT 用于返回唯一不同值。它作用于所有列,也就是说所有列值都相同才算相同。 LIMIT 限制返回行数。可以有两个参数,第一个参数为起始行, 0 开始;第二个参数为返回总行数。...,生成一个结果集,其中包含来自 UNION 参与查询提取行。...在这之后语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 定义了 NEW 和 OLD 关键字,用来表示触发器所在表,触发了触发器那一行数据。...取值为 BEFORE 或 AFTER。 trigger_event: 触发器监听事件。取值为 INSERT、UPDATE 或 DELETE。 table_name: 触发器监听目标。

7.9K30

MySQL命令,一篇文章替你全部搞定

MySQL基本操作可以包括两个方面:MySQL常用语句高频率使用增删改查(CRUD)语句和MySQL高级功能,存储过程,触发器,事务处理等。...:SELECT cust_name FROM customers LIMIT 5;LIMIT后跟一个数值,表示第0行开始取,共取5行数据;如果LIMIT 5,5表示第5行(数据库实际第6行记录)开始取...>5;其中SELECT可以带WHERE过滤条件;INSERT SELECT通常被用于复制表数据 2.3 更新表数据 如果要更新表数据的话,使用UPDATE子句:UPDATE customers SET...:对虚拟表VT6进行HAVING条件过滤,只有符合记录才会被插入到虚拟表VT7SELECT:执行SELECT操作,选择指定列,插入到虚拟表VT8; DISTINCT:对虚拟表VT8记录进行去重...存储过程简单来说,就是为了复用性或者实现复杂业务功能,而保存一条或多条MySQL语句集合,可将其视为批文件; 为什么使用存储过程?

2.6K20

MY SQL存储过程、游标、触发器--Java学习网

经常会有一个完整操作需要多条才能完成 存储过程简单来说,就是为以后使用而保存一条或多条MySQL语句集合。可将其视为批文件。虽然他们作用不仅限于批处理。...关键字OUT指出相应参数用来存储过程传给一个值(返回给调用者)。MySQL支持IN(传递给存储过程)、OUT(存储过程传出、这里所用)和INOUT(对存储过程传入和传出)类型参数。...添加了对游标的支持 只能用于存储过程 由前几章可知,mysql检索操作返回一组称为结果集行。...游标主要用于交互式应用,其中用户需要滚动屏幕上数据,对数据进行浏览或做出更改。...虚拟表访问新更新值 2 在BEFORE UPDATE触发器,NEW值可能被更新,(允许更改将要用于UPDATE语句中值) 3 OLD值全都是只读,不能更新 例子:保证州名缩写总是大写

1.8K30

MySQL 进阶之存储过程存储函数触发器

1.2 变量 在MySQL变量分为三种类型: 系统变量; 用户定义变量; 局部变量; 1、系统变量 系统变量 是MySQL服务器提供,不是用户定义,属于服务器层面。...from student; -- 查看 select stu_count; end; -- 调用存储过程 call Test(); 1.3 IF if 用于条件判断,具体语法结构为...要想解决这个问题,就需要通过MySQL中提供 条件处理程序 Handler 来解决。...: 1、CONTINUE: 继续执行当前程序 2、EXIT: 终止执行当前程序 condition_value 取值: 1、SQLSTATE sqlstate_value: 状态码, 02000...Test(50); 3、触发器 触发器是与表有关数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发执行触发器定义SQL语句集合。

2K30

MySQLMySQL知识总结

读写文件解析出数据需要大量重复代码 成千上万数据快速查询出指定数据需要复杂逻辑 数据缺乏安全感 如果每个应用程序都各自写自己读写数据代码,一方面效率低,容易出错,另一方面,每个应用程序访问数据接口都不同...列表每个值独有一个顺序排列编号,MySQL存入是这个编号,而不是列表值。默认编号1开始!...BETWEEN AND查询 当我们需要查询指定范围内数据(: id 0 到 100)时候,MySQL提供了关键字BETWEEN AND,用来实现判断字段数值是否在指定范围内条件查询。...当数据库系统执行这些事件时,就会激活触发器执行相应操作。MySQL5.0.2版本开始支持触发器。 创建触发器 CREATE TRIGGER来实现创建。...示例: 系统表查看触发器MySQL,在系统数据库information_schema存在一个存储所有触发器信息系统表triggers,因此查询该表格记录也可以实现查看触发器功能。

7.1K52

MySQL基础-变量流程控制游标触发器

:程序按条件进行选择执行,两条或多条路径中选择一条执行 循环结构 :程序满足一定条件下,重复执行一组语句 针对于MySQL 流程控制语句主要有 3 类: 条件判断语句 :IF 语句和 CASE 语句...MySQL,SQL Server,DB2 和 MariaDB 注:select_statement 代表SELECT 语句,返回一个用于创建游标的结果集 打开游标: OPEN cursor_name...在实际开发,我们经常会遇到这样情况:有 2 个或者多个相互关联表, 商品信息 和 库存信息 分别存放在 2 个不同数据表,我们在添加一条新商品记录时候,为了保证数据完整性,必须同时在库存表添加一条库存记录...这样一来,就不用担心因为忘记添加库存数据而导致数据缺失了 1、触发器概念 MySQL 5.0.2 版本开始支持触发器。...: #查看当前数据库所有触发器定义 SHOW TRIGGERS\G #查看当前数据库某个触发器定义 SHOW CREATE TRIGGER 触发器名 #系统库information_schema

1.5K30

MySql数据库约束

大家好,又见面了,我是全栈君   《MySQL技术内幕:InnoDB存储引擎》本书源代码角度深度解析了InnoDB体系结构、实现原理、工作机制,给出了大量实践,本着将书读薄思想,循序渐进记录对本书学习读书笔记...在InnoDB存储引擎,用户可以通过定义Primary Key或Unique Key约束来保证实体完整性,用户还可以编写一个触发器来保证数据完整性、 (2)域完整性保证数据每列值满足特定条件。...在InnoDB存储引擎,域完整性可以通过以下途径来保证:   a. 选择适合数据类型确保一个数据值满足条件   b. 外键(Foreign Key)约束   c. 编写触发器   d....对错误数据约束   在某些默认设置下,MySql数据库允许非法或不正确数据插入或更新,又或者可以在数据库内部将其转化为一个合法值,向not null字段插入一个null值,MySql数据库会将其更改为...-+----------+----------+----------------+---------------------+ 1 row in set (0.00 sec)   可以看出这次对于异常数据更新通过触发器将其保存到了

1.1K10

MySQL 常见面试题及其答案

主键是一种用于唯一标识表每行数据字段或字段集合。主键必须满足以下条件: 唯一性:主键值必须唯一。 非空性:主键值不能为空。 不可变性:主键值不能更改。 5、什么是外键?...10、什么是触发器触发器是一种特殊存储过程,它可以在数据库特定操作(插入、更新、删除等)发生时自动执行。触发器可以用于强制实施业务规则、自动化复杂业务逻辑等。 11、什么是存储过程?...使用合适存储引擎:不同存储引擎适合不同应用场景,InnoDB适用于事务处理,MyISAM适用于查询处理。 避免使用SELECT *:只查询需要列可以减少数据传输和处理时间。...21、如何在MySQL实现分页? MySQL实现分页可以使用LIMIT和OFFSET子句。以下是在MySQL实现分页方法: 使用SELECT语句查询表格数据,使用LIMIT子句限制返回行数。...数据库:复制主数据库数据MySQL数据库实例。 复制器:负责将主数据库更改应用于数据库MySQL进程。 二进制日志文件:包含主数据库所有更改。

7K31

MySQL触发器

注意 MySQL触发器 定义 MySQL触发器和存储过程一样,都是嵌入到MysQL一段程序,不过触发器不要调用,而是由事件触发,这些事件包括insert,update,delete语句,如果定义了触发程序...trigger_name :触发器名字 trigger_time: 触发器触发时机,取值为before,after before:表示在激发触发器语句执行之前执行触发器执行语句 after:表示在激发触发器语句执行之后执行触发器执行语句...trigger_event:触发事件,取值为insert,update,delete insert :比如Mysqlinsert和replace语句就会触发这个事件 update:更新某一行数据会激发这个事件...show triggers \G : 有条理显示所有触发器 查看指定触发器 如果需要查看指定触发器,那么可以information_schema数据库triggers表查询指定触发器...select * from information_schema.triggers where trigger_name="testUpdate"\G where后面是条件 删除触发器 drop db.trigger_name

5K20

Mysql数据库基础知识总结,结构分明,内容详细

星期、星期数、天数等函数 日期格式化与解析 c.聚合函数 定义 聚合函数作用于一组数据,对一组数据返回一个值 聚合函数类型 AVG() SUM() MAX() MIN() COUNT...系统架构层次上看,MySQL 数据库系统大到小依次是 数据库服务器 、 数据库 、 数据表 、数 据表 行与列 。...4.SELECT… INTO:把数据表查询结果存放到变量,也就是为变量赋值。...举例: DROP PROCEDURE CountProc; DROP FUNCTION CountProc; 3.触发器 在实际开发,我们经常会遇到这样情况:有 2 个或者多个相互关联表,...因为触发器存储在数据库,并且由事件驱动,这就意味着触发器有可能 不受应用层控制 。这对系统 维护是非常有挑战。 比如,创建触发器用于修改会员储值操作。

53130

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券