最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫數(shù)據(jù)視圖

 更新時間:2022年08月03日 08:34:39   作者:面屏思過???????  
這篇文章主要介紹了MySQL數(shù)據(jù)庫數(shù)據(jù)視圖,視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下

一、 數(shù)據(jù)視圖

視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式。我們可以將視圖看成是一個移動的窗口,從這個窗口中可以看到感興趣的數(shù)據(jù)。

二、數(shù)據(jù)視圖操作

創(chuàng)建視圖

// 標準語法: CREATE VIEW 視圖名稱 [(列名列表)] AS 查詢語句;

// 創(chuàng)建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;

修改視圖數(shù)據(jù)

// 標準語法: UPDATE 視圖名稱 SET 列名=值 WHERE 條件;

// 注意:修改視圖數(shù)據(jù)后,源表中的數(shù)據(jù)也會隨之修改
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;

三、數(shù)據(jù)的備份與回復

liunx備份

備份文件:

mysqldump -u root -p 數(shù)據(jù)庫名稱 > 文件保存路徑

還原:

source 文件保存路徑

mysql備份

備份-> 導出備份數(shù)據(jù)庫 還原-> 導入備份文件

四、 MySQL存儲過程和函數(shù)

概念

  • 存儲過程和函數(shù)是 事先經(jīng)過編譯并存儲在數(shù)據(jù)庫中的一段 SQL 語句的集合

好處:

  • 可以重復使用,減輕開發(fā)人員的工作量
  • 減少網(wǎng)絡(luò)流量,調(diào)用只需要傳遞參數(shù)名和參數(shù)即可
  • 減少數(shù)據(jù)在數(shù)據(jù)庫和應(yīng)用服務(wù)器之間的傳輸,可以提高數(shù)據(jù)處理的效率
  • 將部分邏輯在數(shù)據(jù)庫層進行了處理,減少業(yè)務(wù)層代碼

區(qū)別:

  • 函數(shù)必須有返回值
  • 存儲過程沒有返回值

五、存儲過程操作

初始數(shù)據(jù)

-- 創(chuàng)建學生表
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20),
	age INT,
	gender VARCHAR(5),
	score INT
);
-- 添加數(shù)據(jù)
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;

創(chuàng)建過程

// 標準語法
// 
DELIMITER $
    -- 標準語法 
CREATE PROCEDURE 存儲過程名稱(參數(shù)列表)
BEGIN
    SQL 語句列表;
END $

-- 修改分隔符為分號
DELIMITER ;

// 創(chuàng)建stu_group()存儲過程,封裝 分組查詢總成績,并按照總成績升序排序的功能
DELIMITER$
CREATE PROCEDURE stu_group()
BEGIN
	SELECT gender, SUM(score) getSum FROM student GROUP BY gender ORDER BY getSum ASC;
END$
DELIMITER ;

調(diào)用存儲過程

// CALL 存儲過程名稱(實際參數(shù));
CALL stu_group();

查找存儲過程

 // 標準語法: SELECT * FROM mysql.proc WHERE db='數(shù)據(jù)庫名稱';
SELECT * FROM mysql.proc WHERE db='demoMysql';

刪除存儲過程

//標準語法: DROP PROCEDURE [IF EXISTS] 存儲過程名稱;
DROP PROCEDURE IF EXISTS stu_group;

其他語法

// 定義變量
// 語法:DECLARE 變量名 數(shù)據(jù)類型 [DEFAULT 默認值];
// 變量賦值
// 語法一:SET 變量名 = 變量值;
// 語法二:SELECT 列名 INTO 變量名 FROM 表名 [WHERE 條件];
// 判斷語句
// if語句
// IF 判斷條件1 THEN 執(zhí)行的sql語句1;
// [ELSEIF 判斷條件2 THEN 執(zhí)行的sql語句2;]
// ...
// [ELSE 執(zhí)行的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;

// 參數(shù)傳遞
// 標準語法: CREATE PROCEDURE 存儲過程名稱([IN|OUT|INOUT] 參數(shù)名 數(shù)據(jù)類型)

DELIMITER $
CREATE PROCEDURE pro_test5(IN total INT, OUT info VARCHAR(10))
BEGIN
	-- 對總成績判斷
	IF total > 380 THEN
		SET info = '學習優(yōu)秀';
	ELSEIF total >= 320 AND total <= 380 THEN
		SET info = '學習不錯';
	ELSE
		SET info = '學習一般';
	END IF;
END$
DELIMITER;

// 調(diào)用過程
CALL pro_test5(350,@info);
SELECT @info;

六、 存儲函數(shù)

其實和存儲過程區(qū)別不大,主要在于定義的時候用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;// 返回結(jié)果;
	
END $
DELIMITER ;
// 調(diào)用函數(shù)
SELECT fun_test1();

// 刪除函數(shù)
DROP FUNCTION fun_test1();

到此這篇關(guān)于MySQL數(shù)據(jù)庫數(shù)據(jù)視圖的文章就介紹到這了,更多相關(guān)SQL數(shù)據(jù)視圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql中NTILE()函數(shù)的具體使用

    Mysql中NTILE()函數(shù)的具體使用

    NTILE()函數(shù)用于將分區(qū)中的有序數(shù)據(jù)分為n個等級,本文主要介紹了Mysql中NTILE()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • mysql中時間字段設(shè)置遇到的問題

    mysql中時間字段設(shè)置遇到的問題

    這篇文章主要介紹了mysql中時間字段設(shè)置遇到的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mysql主鍵,外鍵,非空,唯一,默認約束及創(chuàng)建表的方法

    mysql主鍵,外鍵,非空,唯一,默認約束及創(chuàng)建表的方法

    這篇文章主要介紹了mysql主鍵,外鍵,非空,唯一,默認約束及創(chuàng)建表的方法,在數(shù)據(jù)庫中,數(shù)據(jù)表是數(shù)據(jù)庫中最重要、最基本的操作對象,是數(shù)據(jù)存儲的基本單位
    2022-07-07
  • MySQL Innodb 存儲結(jié)構(gòu) 和 存儲Null值 用法詳解

    MySQL Innodb 存儲結(jié)構(gòu) 和 存儲Null值 用法詳解

    這篇文章主要介紹了MySQL Innodb 存儲結(jié)構(gòu) 和 存儲Null值 用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 21分鐘 MySQL 入門教程

    21分鐘 MySQL 入門教程

    這篇文章主要介紹了MySQL 入門教程,通過簡單的介紹基本上可以讓你21分鐘就可以了解下mysql
    2014-06-06
  • MySQL生成千萬測試數(shù)據(jù)以及遇到的問題

    MySQL生成千萬測試數(shù)據(jù)以及遇到的問題

    前兩天發(fā)現(xiàn)同事要做一個對大表進行范圍查詢的功能,所以需要生成千萬數(shù)據(jù)進行性能測試,下面這篇文章主要給大家介紹了關(guān)于MySQL生成千萬測試數(shù)據(jù)以及遇到的問題的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Mysql 分批加索引的詳細方法

    Mysql 分批加索引的詳細方法

    文章主要介紹了在生產(chǎn)環(huán)境中為千萬級數(shù)據(jù)表分批次創(chuàng)建索引的策略和方法,包括使用臨時表、分區(qū)表、ONLINE選項、分批ALTER TABLE、pt-online-schema-change工具等,并提供了詳細的步驟和注意事項,感興趣的朋友一起看看吧
    2024-12-12
  • mysqldump你可能不知道的參數(shù)

    mysqldump你可能不知道的參數(shù)

    這篇文章主要介紹了mysqldump你可能不知道的參數(shù),幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11
  • ktl工具實現(xiàn)mysql向mysql同步數(shù)據(jù)方法

    ktl工具實現(xiàn)mysql向mysql同步數(shù)據(jù)方法

    在本篇內(nèi)容里我們給大家介紹了用ktl工具實現(xiàn)mysql向mysql同步數(shù)據(jù)的具體步驟,有需要的朋友們跟著學習參考下。
    2019-03-03
  • mysql怎么關(guān)閉sql_mode=ONLY_FULL_GROUP_BY模式

    mysql怎么關(guān)閉sql_mode=ONLY_FULL_GROUP_BY模式

    前段時間在項目開發(fā)過程中發(fā)現(xiàn)了系統(tǒng)異常,打開日志查看發(fā)現(xiàn)了如下的這個報錯,查找相關(guān)資料終于解決了,這篇文章主要給大家介紹了關(guān)于mysql怎么關(guān)閉sql_mode=ONLY_FULL_GROUP_BY模式的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評論

昌吉市| 彩票| 思南县| 荆门市| 南和县| 奉贤区| 乌拉特前旗| 和顺县| 江山市| 库伦旗| 广州市| 芮城县| 西安市| 正镶白旗| 合阳县| 霍州市| 宝应县| 大理市| 新邵县| 和龙市| 信阳市| 兴海县| 晋城| 资源县| 屯门区| 安徽省| 当雄县| 延庆县| 贵定县| 全州县| 扶余县| 嘉黎县| 海丰县| 福安市| 故城县| 桃园市| 乐都县| 夹江县| 福安市| 乌恰县| 博爱县|