实验一:通过存储过程创建300w条数据 创建表 假设表的名称为test_table,且表结构如下: CREATE TABLE test_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, email VARCHAR(100) ); 编写存储过程 编写一个存储过程…
一、介绍 存储过程包含了一系列可执行的SQL语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆SQL。 使用存储过程的优点: 用于替代程序写的SQL语句,实现程序与SQL解耦 基于网络传输,传别名的数据量小,而直接传SQL数据量大 使用存储过程的缺点: 程序员扩展功能不方便 补充:程序与数据库结合使用的三种方式 方式一: MyS…
一、条件语句 以下是一个示例的 SQL 条件语句,它使用了 IF、ELSEIF 和 ELSE 结构: delimiter // CREATE PROCEDURE proc_if () BEGIN DECLARE i INT DEFAULT 0; IF i = 1 THEN SELECT 1; ELSEIF i = 2 THEN SELECT 2; …
MySQL 内置函数 MySQL中提供了许多内置函数,以下是一些常用的函数及其示例: 一、数学函数 ROUND(x, y) 返回参数x的四舍五入的有y位小数的值。 SELECT ROUND(123.456, 2); -- 结果:123.46 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。…
触发器概念 使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询。 触发器相关命令 一 创建触发器 # 插入前 CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW BEGIN ... END # 插入后 CREATE TRIGGER t…
一 视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显的效率问题,并且视图是存放在数…
综合练习:表结构与数据导入 init.sql 文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost S…
单表查询内容参考:https://www.yuque.com/u39220520/rtqkia/rbmtd38g1hg1logf 链表查询 一、准备工作 建表 CREATE TABLE department ( id INT, name VARCHAR(20) ); CREATE TABLE employee ( id INT PRIMARY KE…
一、单表查询的语法 SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件 GROUP BY 字段 HAVING 筛选 ORDER BY 字段 LIMIT 限制条数; 二、关键字的执行优先级(重要) 执行顺序(优先级): FROM WHERE GROUP BY HAVING SELECT DISTINCT ORDER BY LI…
假设需要把旧表test1表的数据,插入到新表test2里 1. 创建 test1 表并插入数据 创建 test1 表 CREATE TABLE test1 ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10), age INT, email VARCHAR(30), born_year YEAR…