视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。我们可以将视图看成是一个移动的窗口,从这个窗口中可以看到感兴趣的数据。
// 创建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 city_country SET city_name=”深圳” WHERE city_name=”北京”;
ALTER VIEW city_country (city_id, city_name, NAME) AS
SELECT c1.id, c1.name, c2.name
FROMcity c1, country c2
WHERE c1.cid = c2.id;
DROP VIEW IF EXISTS city_country;
备份文件:
还原:
备份-> 导出备份数据库 还原-> 导入备份文件
好处:
区别:
— 修改分隔符为分号
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 ;
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
END $
DELIMITER ;
// 调用函数
SELECT fun_test1();
// 删除函数
DROP FUNCTION fun_test1();
到此这篇关于MySQL数据库数据视图的文章就介绍到这了,更多相关SQL数据视图内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!