1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      關(guān)于mysql函數(shù)、存儲過程、存儲引擎的簡單介紹

      下文我給大家簡單講講關(guān)于MySQL函數(shù)、存儲過程、存儲引擎,大家之前了解過相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來看看這篇文章吧,相信看完mysql函數(shù)、存儲過程、存儲引擎對大家多少有點(diǎn)幫助吧。

      成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的古城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

      內(nèi)置函數(shù)庫

      自定義函數(shù)

      語法:

      create function 函數(shù)名([參數(shù)列表]) returns 數(shù)據(jù)類型

      begin

      sql語句;

      return 值;

      end;

      例1:無參數(shù)函數(shù)

      -- 最簡單的僅有一條sql的函數(shù)

      CREATE FUNCTION f1()

      RETURNS VARCHAR(30)

      RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H點(diǎn)%i分%s秒')

      select f1(); -- 調(diào)用函數(shù)

      例2:帶參數(shù)函數(shù)

      -- 帶參數(shù)函數(shù)(參數(shù)需要聲明類型)

      CREATE FUNCTION f2(a INT,b INT)

      RETURNS INT

      RETURN a + b;

      select f2(); -- 調(diào)用函數(shù)

      例3:sql 語句體

      -- sql 語句體

      CREATE FUNCTION add_user(name VARCHAR(30))

      RETURNS INT

      BEGIN

      INSERT INTO user(username) VALUES (name );

      RETURN LAST_INSERT_ID();

      END

      select f3('atong'); -- 調(diào)用函數(shù)

      -- 多個語句需要執(zhí)行時使用 begin/end 形成聚合體

      其它

      參數(shù)可以零個或多個,return 值只能一個

      可在 sql 語句中調(diào)用 select * from user where id=f2(1,2);

      查看函數(shù)創(chuàng)建語句:show create function 函數(shù)名;

      查看所有函數(shù):show function status [like 'pattern'];

      drop function 函數(shù)名;

      存儲過程(Stored Procedure)

      通常的,我們編寫好的SQL語句提交給MySQL云服務(wù)器之后,MySQL云服務(wù)器將經(jīng)歷以下過程:

      MySQL引擎檢查語法是否標(biāo)準(zhǔn) -> sql 無錯誤時編譯該語句 -> 執(zhí)行編譯后的語句 -> 返回結(jié)果

      存儲過程是為了完成特定功能的SQL語句集,經(jīng)編譯創(chuàng)建并保存在數(shù)據(jù)庫中,調(diào)用存儲過程時可省去了 檢測語法及編譯 過程直接執(zhí)行語句,從而提高效率。

      例1:無參數(shù)的存儲過程:

      -- 最簡單的僅有一條sql的存儲過程

      CREATE PROCEDURE a()

      SELECT VERSION();

      CALL a(); -- 調(diào)用存儲過程

      例2: 帶參數(shù)的存儲過程

      -- 帶參數(shù)的存儲過程

      CREATE PROCEDURE removeUserById(uid INT)

      BEGIN

      DELETE FROM `user` WHERE `id` = uid;

      END

      CALL removeUserById(1); -- 執(zhí)行存儲過程

      MySQL存儲過程的參數(shù)用在存儲過程的定義,共有三種參數(shù)類型,IN,OUT,INOUT,形式如:

      CREATEPROCEDURE 存儲過程名([[IN |OUT |INOUT ] 參數(shù)名 數(shù)據(jù)類形...])

      IN 輸入?yún)?shù):表示調(diào)用者向過程傳入值(傳入值可以是字面量或變量)

      OUT 輸出參數(shù):表示過程向調(diào)用者傳出值(可以返回多個值)(傳出值只能是變量)

      INOUT 輸入輸出參數(shù):既表示調(diào)用者向過程傳入值,又表示過程向調(diào)用者傳出值(值只能是變量)

      例3:IN/OUT 修飾參數(shù)

      -- IN uid 參數(shù)為傳入?yún)?shù),OUT nums 參數(shù)為傳出參數(shù)

      -- OUT 可以多個,即存儲過程可返回多個值

      CREATE PROCEDURE test(IN uid INT,OUT nums INT)

      BEGIN

      DELETE FROM `user` WHERE id = uid;

      SELECT COUNT(uid) FROM `user` INTO nums;

      end

      -- 調(diào)用鄭州好的婦科醫(yī)院 http://www.zzkedayy.com/

      CALL test(7,@param); -- @param 相當(dāng)于傳入變量去接受數(shù)據(jù)

      SELECT @param;

      mysql 變量

      -- into

      SELECT 'Hello World' into @x;

      SELECT @x;

      -- set

      SET @y='Goodbye Cruel World';

      SELECT @y;

      存儲引擎

      MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲在文件(內(nèi)存)中,這種技術(shù)就稱為存儲引擎。每一種存儲引擎使用不同的存儲機(jī)制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。

      在處理并發(fā)讀或者并發(fā)寫的時候,系統(tǒng)會使用鎖系統(tǒng)解決這個問題,鎖分為共享鎖和排他鎖:

      共享鎖(讀鎖):在同一時間段內(nèi),多個用戶可以讀取同一個資源,讀取過程中數(shù)據(jù)不會發(fā)生任何變化。

      排他鎖(寫鎖):在任何時候只能有一個用戶寫入資源,當(dāng)進(jìn)行寫鎖時會阻塞其他的讀鎖或者寫鎖操作。

      在加鎖的時候,只需要對某條特定的記錄加鎖就可以了,全部加鎖會增加系統(tǒng)開銷。

      鎖顆粒又稱為鎖的力度,指的是鎖定時的單位,就是鎖主要分為表鎖和行鎖:

      表鎖:是一種開銷最小的鎖策略

      行鎖:是一種開銷最大的鎖策略

      事務(wù)處理

      在 MySQL 中只有使用了 Innodb 數(shù)據(jù)庫引擎的數(shù)據(jù)庫或表才支持事務(wù)。事務(wù)必須滿足 ACID 特性。

      原子性(Atomicity)-- 要么都發(fā)生,要么都不發(fā)生。

      一致性(Consistency) -- 保持?jǐn)?shù)據(jù)的一致。

      隔離性(Isolation) -- 事務(wù)之間相互獨(dú)立。

      持久性(Durability) -- 事務(wù)處理結(jié)束后,對數(shù)據(jù)的修改就是永久的。

      主鍵、外鍵和索引

      主鍵

      外鍵

      索引

      定義

      唯一標(biāo)識一條記錄,不能有重復(fù)的,不允許為空

      表的外鍵是另一表的主鍵, 外鍵可以有重復(fù)的, 可以是空值

      該字段沒有重復(fù)值,但可以有一個空值

      作用

      用來保證數(shù)據(jù)完整性

      用來和其他表建立聯(lián)系用的

      是提高查詢排序的速度

      個數(shù)

      主鍵只能有一個

      一個表可以有多個外鍵

      一個表可以有多個惟一索引

      大家覺得mysql函數(shù)、存儲過程、存儲引擎這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。


      名稱欄目:關(guān)于mysql函數(shù)、存儲過程、存儲引擎的簡單介紹
      標(biāo)題來源:http://ef60e0e.cn/article/pijege.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        宁河县| 浑源县| 九龙坡区| 新泰市| 岳池县| 南昌市| 酉阳| 大田县| 青州市| 嫩江县| 麟游县| 肇源县| 洛阳市| 彭山县| 隆昌县| 伊宁市| 疏附县| 泰顺县| 准格尔旗| 沅陵县| 二连浩特市| 临安市| 白银市| 景德镇市| 嘉义县| 高邑县| 承德市| 深州市| 溆浦县| 赣榆县| 肇源县| 泰州市| 鹤山市| 平山县| 乐都县| 康保县| 安丘市| 孙吴县| 葫芦岛市| 六枝特区| 和龙市|