我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库数据视图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库数据视图

一、 数据视图

视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。我们可以将视图看成是一个移动的窗口,从这个窗口中可以看到感兴趣的数据。

二、数据视图操作

创建视图

// 标准语法: CREATE VIEW 视图名称 [(列名列表)] AS 查询语句;

// 创建city_country视图,保存城市和国家的信息(使用指定列名)
CREATE VIEW city_country(city_id,city_name,country_name) 
AS
SELECT c1.id, c1.name, c2.name FROM city c1, country c2 WHERE c1.cid = c2.id;

修改视图数据

// 标准语法: UPDATE 视图名称 SET 列名=值 WHERE 条件;

// 注意:修改视图数据后,源表中的数据也会随之修改
UPDATE city_country SET city_name="深圳" WHERE city_name="北京";

修改视图列明

// 标准语法: ALTER VIEW 视图名称 (列名列表) AS 查询语句; 

ALTER VIEW city_country (city_id, city_name, NAME) AS 
SELECT c1.id, c1.name, c2.name
FROM  city c1, country c2
WHERE c1.cid = c2.id;

删除视图

// 标准语法 DROP VIEW [IF EXISTS] 视图名称;
// 删除city_country视图

DROP VIEW IF EXISTS city_country;

三、数据的备份与回复

liunx备份

备份文件:

mysqldump -u root -p 数据库名称 > 文件保存路径

还原:

source 文件保存路径

mysql备份

备份-> 导出备份数据库 还原-> 导入备份文件

四、 MySQL存储过程和函数

概念

  • 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合

好处:

  • 可以重复使用,减轻开发人员的工作量
  • 减少网络流量,调用只需要传递参数名和参数即可
  • 减少数据在数据库和应用服务器之间的传输,可以提高数据处理的效率
  • 将部分逻辑在数据库层进行了处理,减少业务层代码

区别:

  • 函数必须有返回值
  • 存储过程没有返回值

五、存储过程操作

初始数据

-- 创建学生表
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20),
	age INT,
	gender VARCHAR(5),
	score INT
);
-- 添加数据
INSERT INTO student VALUES (NULL,'张三',23,'男',95),(NULL,'李四',24,'男',98),
(NULL,'王五',25,'女',100),(NULL,'赵六',26,'女',90);
-- 按照性别进行分组,查询每组学生的总成绩。按照总成绩的升序排序
SELECT gender, SUM(score) getSum FROM student GROUP BY gender ORDER BY getSum ASC;

创建过程

// 标准语法
// 
DELIMITER $
    -- 标准语法 
CREATE PROCEDURE 存储过程名称(参数列表)
BEGIN
    SQL 语句列表;
END $

-- 修改分隔符为分号
DELIMITER ;

// 创建stu_group()存储过程,封装 分组查询总成绩,并按照总成绩升序排序的功能
DELIMITER$
CREATE PROCEDURE stu_group()
BEGIN
	SELECT gender, SUM(score) getSum FROM student GROUP BY gender ORDER BY getSum ASC;
END$
DELIMITER ;

调用存储过程

// CALL 存储过程名称(实际参数);
CALL stu_group();

查找存储过程

 // 标准语法: SELECT * FROM mysql.proc WHERE db='数据库名称';
SELECT * FROM mysql.proc WHERE db='demoMysql';

删除存储过程

//标准语法: DROP PROCEDURE [IF EXISTS] 存储过程名称;
DROP PROCEDURE IF EXISTS stu_group;

其他语法

// 定义变量
// 语法:DECLARE 变量名 数据类型 [DEFAULT 默认值];
// 变量赋值
// 语法一:SET 变量名 = 变量值;
// 语法二:SELECT 列名 INTO 变量名 FROM 表名 [WHERE 条件];
// 判断语句
// if语句
// IF 判断条件1 THEN 执行的sql语句1;
// [ELSEIF 判断条件2 THEN 执行的sql语句2;]
// ...
// [ELSE 执行的sql语句n;]
// END IF;
DELIMITER $

CREATE PROCEDURE pro_test2()

BEGIN
	-- 定义变量
	DECLARE NAME VARCHAR(20);
        DECLARE totalScore INT;
        DECLARE info VARCHAR(10);
	-- 为变量赋值
	SET NAME = '赋值方式1';
        SELECT SUM(score) INTO totalScore FROM student;
	
        IF totalScore > 500 THEN
		SET info='总分超过500';
        END IF;
        -- 使用变量
	SELECT NAME,totalScore,info;
END$
DELIMITER;

// 参数传递
// 标准语法: CREATE PROCEDURE 存储过程名称([IN|OUT|INOUT] 参数名 数据类型)

DELIMITER $
CREATE PROCEDURE pro_test5(IN total INT, OUT info VARCHAR(10))
BEGIN
	-- 对总成绩判断
	IF total > 380 THEN
		SET info = '学习优秀';
	ELSEIF total >= 320 AND total <= 380 THEN
		SET info = '学习不错';
	ELSE
		SET info = '学习一般';
	END IF;
END$
DELIMITER;

// 调用过程
CALL pro_test5(350,@info);
SELECT @info;

六、 存储函数

其实和存储过程区别不大,主要在于定义的时候用FUNCTION,同时有return

DELIMITER $
CREATE FUNCTION fun_test1()
RETURNS INT // 返回值类型
BEGIN
	DECLARE s_count INT;
	SELECT COUNT(*) INTO s_count FROM student WHERE score > 95;// 条件语句
	RETURN s_count;// 返回结果;
	
END $
DELIMITER ;
// 调用函数
SELECT fun_test1();

// 删除函数
DROP FUNCTION fun_test1();

到此这篇关于MySQL数据库数据视图的文章就介绍到这了,更多相关SQL数据视图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库数据视图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库数据视图

这篇文章主要介绍了MySQL数据库数据视图,视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
2022-11-13

mysql怎么导出数据库视图

mysql 数据库视图可通过如下方法导出:使用 mysqldump 实用程序:mysqldump -u [用户名] -p[密码] --no-data [数据库名称] [视图名称] > [文件名].sql。使用 mysql workbench
mysql怎么导出数据库视图
2024-08-06

数据库视图是什么意思以及 MySQL 视图如何工作?

数据库视图只不过是存储在数据库中并具有关联名称的 SQL 语句。视图实际上是预定义 SQL 查询形式的表的组合。视图可以包含表的所有行,也可以从表中选择行。 MySQL 视图可以从一个或多个表创建,这些表依赖于编写的 MySQL 查询来创建
2023-10-22

MySQL怎么修改视图数据

要修改MySQL视图数据,可以使用以下语法:UPDATE view_nameSET column1 = value1, column2 = value2, ...WHERE condition;其中,view_name是要修改的视图名
MySQL怎么修改视图数据
2024-04-19

MySQL如何修改视图数据

要修改MySQL视图的数据,您需要进行以下步骤:首先,您需要找到要修改的视图的名称。使用CREATE OR REPLACE VIEW语句来重新定义视图。在这个语句中,您可以使用SELECT语句来指定视图的新定义。执行CREATE OR RE
MySQL如何修改视图数据
2024-04-20

MySQL数据库创建视图的方法是什么

在MySQL数据库中,可以使用以下语法来创建视图:CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;其中,view_
MySQL数据库创建视图的方法是什么
2024-03-12

sql数据库视图如何创建

要创建一个SQL数据库视图,需要使用CREATE VIEW语句。以下是创建视图的语法:CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE cond
2023-09-29

数据库中怎么修改视图

要修改数据库中的视图,可以使用SQL语句来实现。具体步骤如下:打开数据库管理工具(如MySQL Workbench)并连接到相应的数据库。执行以下SQL语句来修改视图的定义:ALTER VIEW view_name AS new_view
2023-10-26

数据库视图有哪些作用

数据库视图的作用有以下几个方面:数据安全性:通过视图可以隐藏敏感数据,只向用户展示部分数据,保护数据库中重要信息的安全。数据简化:视图可以简化用户对数据库的查询操作,将复杂的查询操作封装在视图中,用户只需要对视图进行查询操作即可获取所需的数
数据库视图有哪些作用
2024-02-29

SQL数据库如何创建视图

创建视图的语法:```CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;```其中,`view_name` 是视图的名称,`
2023-09-07

MySQL中数据视图操作详解

视图是从一个或多个表(或视图)导出的表。视图一经定义,就可以像表一样被查询、修改、删除和更新。本文就来和大家讲讲MySQL数据视图的一些基本操作,需要的可以参考一下
2022-11-13

编程热搜

目录