欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

MySQL學習筆記二

系統 1946 0

? function 函數

        函數的作用比較大,一般多用在select查詢語句和where條件語句之后。按照函數返回的結果,
      
        可以分為:多行函數和單行函數;所謂的單行函數就是將每條數據進行獨立的計算,然后每條數據得到一條結果。
      
        如:字符串函數;而多行函數,就是多條記錄同時計算,得到最終只有一條結果記錄。如:
        
          sum
        
        、avg等
      
        多行函數也稱為聚集函數、分組函數,主要用于完成一些統計功能。MySQL的單行函數有如下特征:
      
            單行函數的參數可以是變量、常量或數據列。單行函數可以接受多個參數,但返回一個值。
      
            單行函數就是它會對每一行單獨起作用,每一行(可能包含多個參數)返回一個結果。
      
            單行函數可以改變參數的數據類型。單行函數支持嵌套使用:內層函數的返回值是外層函數的參數。
      
        ?
      
        單行函數可以分為:
      
            類型轉換函數;
      
            位函數;
      
            流程控制語句;
      
            加密解密函數;
      
            信息函數
      

單行函數

        ?
      
        1、    char_length字符長度
      
        
          select
        
        
          char_length
        
        (tel) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        2、    sin函數
      
        
          select
        
         sin(age) 
        
          from
        
        
          user
        
        ;
      
        
          select
        
         sin(1.57);
      
        ?
      
        3、    添加日期函數
      
        
          select
        
         date_add(
        
          '2010-06-21'
        
        , 
        
          interval
        
         2 
        
          month
        
        );
      
        interval是一個關鍵字,2 month是2個月的意思,2是數值,month是單位
      
        
          select
        
         addDate(
        
          '2011-05-28'
        
        , 2);
      
        在前面的日期上加上后面的天數
      
        ?
      
        4、    獲取當前系統時間、日期
      
        
          select
        
         curdate();
      
        
          select
        
         curtime();
      
        ?
      
        5、    加密函數
      
        
          select
        
         md5(
        
          'zhangsan'
        
        );
      
        ?
      
        6、    
        
          Null
        
         處理函數
      
        
          select
        
         ifnull(birthday, 
        
          'is null birthday'
        
        ) 
        
          from
        
        
          user
        
        ;
      
        如果birthday為null,就返回后面的字符串
      
        ?
      
        
          select
        
        
          nullif
        
        (age, 245) 
        
          from
        
        
          user
        
        ;
      
        如果age等于245就返回null,不等就返回age
      
        ?
      
        
          select
        
         isnull(birthday) 
        
          from
        
        
          user
        
        ;
      
        判斷birthday是否為null
      
        ?
      
        
          select
        
        
          if
        
        (isnull(birthday), 
        
          'birthday is null'
        
        , 
        
          'birthday not is null'
        
        ) 
        
          from
        
        
          user
        
        ;
      
        如果birthday為null或是0就返回birthday 
        
          is
        
        
          null
        
        ,否則就返回birthday 
        
          not
        
        
          is
        
        
          null
        
        ;類似于三目運算符
      
        ?
      
        7、    
        
          case
        
         流程函數
      
        case函數是一個流程控制函數,可以接受多個參數,但最終只會返回一個結果。
      
        
          select
        
         name, 
      
        age, 
      
        (
        
          case
        
         sex
      
        
          when
        
         1 
        
          then
        
        
          '男'
        
      
        
          when
        
         0 
        
          then
        
        
          '女'
        
      
        
          else
        
        
          '火星人'
        
      
        
          end
        
      
        ) sex
      
        
          from
        
        
          user
        
        ;
      

?

組函數

組函數就是多行函數,組函數是完成一行或多行結果集的運算,最后返回一個結果,而不是每條記錄返回一個結果。

        1、    avg平均值運算
      
        
          select
        
        
          avg
        
        (age) 
        
          from
        
        
          user
        
        ;
      
        
          select
        
        
          avg
        
        (
        
          distinct
        
         age) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        2、    
        
          count
        
         記錄條數統計
      
        
          select
        
        
          count
        
        (*), 
        
          count
        
        (age), 
        
          count
        
        (
        
          distinct
        
         age) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        3、    
        
          max
        
         最大值
      
        
          select
        
        
          max
        
        (age), 
        
          max
        
        (
        
          distinct
        
         age) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        4、    
        
          min
        
         最小值
      
        
          select
        
        
          min
        
        (age), 
        
          min
        
        (
        
          distinct
        
         age) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        5、    
        
          sum
        
         求和、聚和
      
        
          select
        
        
          sum
        
        (age), 
        
          sum
        
        (
        
          distinct
        
         age) 
        
          from
        
        
          user
        
        ;
      
        
          select
        
        
          sum
        
        (ifnull(age, 0)) 
        
          from
        
        
          user
        
        ;
      
        ?
      
        6、    
        
          group
        
        
          by
        
         分組
      
        
          select
        
        
          count
        
        (*), sex 
        
          from
        
        
          user
        
        
          group
        
        
          by
        
         sex;
      
        
          select
        
        
          count
        
        (*) 
        
          from
        
        
          user
        
        
          group
        
        
          by
        
         age;
      
        
          select
        
         * 
        
          from
        
        
          user
        
        
          group
        
        
          by
        
         sex, age;
      
        ?
      
        7、    having進行條件過濾
      
        不能在where子句中過濾組,where子句僅用于過濾行。過濾group by需要having
      
        不能在where子句中用組函數,having中才能用組函數
      
        
          select
        
        
          count
        
        (*) 
        
          from
        
        
          user
        
        
          group
        
        
          by
        
         sex 
        
          having
        
         sex <> 2;
      

?

? 多表查詢和子查詢

        數據庫的查詢功能最為豐富,很多時候需要用到查詢完成一些事物,而且不是單純的對一個表進行操作。而是對多個表進行聯合查詢,
      
        MySQL中多表連接查詢有兩種規范,較早的SQL92規范支持,如下幾種表連接查詢:
      
            等值連接
      
            非等值連接
      
            外連接
      
            廣義笛卡爾積
      
        SQL99規則提供了可讀性更好的多表連接語法,并提供了更多類型的連接查詢,SQL99支持如下幾種多表連接查詢:
      
            交叉連接
      
            自然連接
      
            使用using子句的連接
      
            使用on子句連接
      
            全部連接或者左右外連接
      
        ?
      
        SQL92的連接查詢
      
        SQL92的連接查詢語法比較簡單,多將多個table放置在from關鍵字之后,多個table用“,”隔開;
      
        連接的條件放在where條件之后,與查詢條件直接用and邏輯運算符進行連接。如果條件中使用的是相等,
      
        則稱為等值連接,相反則稱為非等值,如果沒有任何條件則稱為廣義笛卡爾積。
      
        廣義笛卡爾積:
        
          select
        
         s.*, c.* 
        
          from
        
         student s, classes c;
      
        等值:
        
          select
        
         s.*, c.* 
        
          from
        
         student s, classes c 
        
          where
        
         s.cid = c.id;
      
        非等值:
        
          select
        
         s.*, c.* 
        
          from
        
         student s, classes c 
        
          where
        
         s.cid <> c.id;
      
        
          select
        
         s.*, c.name classes 
        
          from
        
         classes c, student s 
        
          where
        
         c.id = s.classes_id 
        
          and
        
         s.name 
        
          is
        
        
          not
        
        
          null
        
        ;
      
        ?
      
        SQL99連接查詢
      
        1、交叉連接cross 
        
          join
        
        ,類似于SQL92的笛卡爾積查詢,無需條件。如:
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          cross
        
        
          join
        
         classes c;
      
        ?
      
        2、自然連接 
        
          natural
        
         join查詢,無需條件,默認條件是將2個table中的相同字段作為連接條件,如果沒有相同字段,查詢的結果就是空。
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          natural
        
        
          join
        
         classes c;
      
        ?
      
        3、using子句連接查詢:using的子句可以是一列或多列,顯示的指定兩個表中同名列作為連接條件。
      
        如果用natural join的連接查詢,會把所有的相同字段作為連接查詢。而using可以指定相同列及個數。
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          join
        
         classes c 
        
          using
        
        (id);
      
        ?
      
        4、    
        
          join
        
         … on連接查詢,查詢條件在on中完成,每個on語句只能指定一個條件。
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          join
        
         classes c 
        
          on
        
         s.classes_id = c.id;
      
        ?
      
        5、    左右外連接:3種外連接,
        
          left
        
         [
        
          outer
        
        ] 
        
          join
        
          right
        
         [
        
          outer
        
        ] 
        
          join
        
        ,連接條件都是通過用on子句來指定,條件可以等值、非等值。
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          left
        
        
          join
        
         classes c 
        
          on
        
         s.classes_id = c.id;
      
        
          select
        
         s.*, c.name 
        
          from
        
         student s 
        
          right
        
        
          join
        
         classes c 
        
          on
        
         s.classes_id = c.id;
      
        ?
      
            子查詢
      
            子查詢就是指在查詢語句中嵌套另一個查詢,子查詢可以支持多層嵌套。子查詢可以出現在2個位置:
      
            from關鍵字之后,被當做一個表來進行查詢,這種用法被稱為行內視圖,因為該子查詢的實質就是一個臨時視圖
      
            出現在where條件之后作為過濾條件的值
      
        ?
      
        子查詢注意點:
      
            子查詢用括號括起來,特別情況下需要起一個臨時名稱
      
            子查詢當做臨時表時(在from之后的子查詢),可以為該子查詢起別名,尤其是要作為前綴來限定數據列名時
      
            子查詢用作過濾條件時,將子查詢放在比較運算符的右邊,提供可讀性
      
            子查詢作為過濾條件時,單行子查詢使用單行運算符,多行子查詢用多行運算符
      
        ?
      
        將from后面的子查詢當做一個table來用:
      
        
          select
        
         * 
        
          from
        
         (
        
          select
        
         id, name 
        
          from
        
         classes) s 
        
          where
        
         s.id 
        
          in
        
         (1, 2);
      
        當做條件來用:
      
        
          select
        
         * 
        
          from
        
         student s 
        
          where
        
         s.classes_id 
        
          in
        
         (
        
          select
        
         id 
        
          from
        
         classes);
      
        
          select
        
         * 
        
          from
        
         student s 
        
          where
        
         s.classes_id = 
        
          any
        
         (
        
          select
        
         id 
        
          from
        
         classes);
      
        
          select
        
         * 
        
          from
        
         student s 
        
          where
        
         s.classes_id > 
        
          any
        
         (
        
          select
        
         id 
        
          from
        
         classes);
      

? 操作符和函數

        1、    boolean只判斷
      
        
          select
        
         1 
        
          is
        
        
          true
        
        , 0 
        
          is
        
        
          false
        
        , 
        
          null
        
        
          is
        
        
          unknown
        
        ;
      
        
          select
        
         1 
        
          is
        
        
          not
        
        
          unknown
        
        , 0 
        
          is
        
        
          not
        
        
          unknown
        
        , 
        
          null
        
        
          is
        
        
          not
        
        
          unknown
        
        ;
      
        ?
      
        2、    coalesce函數,返回第一個非null的值
      
        
          select
        
        
          coalesce
        
        (
        
          null
        
        , 1);
      
        
          select
        
        
          coalesce
        
        (1, 1);
      
        
          select
        
        
          coalesce
        
        (
        
          null
        
        , 1);
      
        
          select
        
        
          coalesce
        
        (
        
          null
        
        , 
        
          null
        
        );
      
        ?
      
        3、    當有2個或多個參數時,返回最大的那個參數值
      
        
          select
        
         greatest(2, 3);
      
        
          select
        
         greatest(2, 3, 1, 9, 55, 23);
      
        
          select
        
         greatest(
        
          'D'
        
        , 
        
          'A'
        
        , 
        
          'B'
        
        );
      
        ?
      
        4、    Least函數,返回最小值,如果有null就返回null值
      
        
          select
        
         least(2, 0);
      
        
          select
        
         least(2, 0, 
        
          null
        
        );
      
        
          select
        
         least(2, 10, 22.2, 35.1, 1.1);
      
        ?
      
        5、    控制流函數
      
        
          select
        
        
          case
        
         1 
        
          when
        
         1 
        
          then
        
        
          'is 1'
        
        
          when
        
         2 
        
          then
        
        
          'is 2'
        
        
          else
        
        
          'none'
        
        
          end
        
        ;
      
        
          select
        
        
          case
        
        
          when
        
         1 > 2 
        
          then
        
        
          'yes'
        
        
          else
        
        
          'no'
        
        
          end
        
        ;
      
        ?
      
        6、    ascii字符串函數
      
        
          select
        
         ascii(
        
          'A'
        
        );
      
        
          select
        
         ascii(
        
          '1'
        
        );
      
        ?
      
        7、    二進制函數
      
        
          select
        
         bin(22);
      
        ?
      
        8、    返回二進制字符串長度
      
        
          select
        
        
          bit_length
        
        (11);
      
        ?
      
        9、    char將值轉換成字符,小數取整四舍五入
      
        
          select
        
        
          char
        
        (65);
      
        
          select
        
        
          char
        
        (65.4);
      
        
          select
        
        
          char
        
        (65.5);
      
        
          select
        
        
          char
        
        (65.6);
      
        
          select
        
        
          char
        
        (65, 66, 67.4, 68.5, 69.6, 
        
          '55.5'
        
        , 
        
          '97.3'
        
        );
      
        ?
      
        10、    using改變字符集
      
        
          select
        
         charset(
        
          char
        
        (0*65)), charset(
        
          char
        
        (0*65 
        
          using
        
         utf8));
      
        ?
      
        11、    得到字符長度char_length,
        
          character_length
        
      
        
          select
        
        
          char_length
        
        (
        
          'abc'
        
        );
      
        
          select
        
        
          character_length
        
        (
        
          'eft'
        
        );
      
        ?
      
        12、    compress壓縮字符串、uncompress解壓縮
      
        
          select
        
         compress(
        
          'abcedf'
        
        );
      
        
          select
        
         uncompress(compress(
        
          'abcedf'
        
        ));
      
        ?
      
        13、    concat_ws分隔字符串
      
        
          select
        
         concat_ws(
        
          '#'
        
        , 
        
          'first'
        
        , 
        
          'second'
        
        , 
        
          'last'
        
        );
      
        
          select
        
         concat_ws(
        
          '#'
        
        , 
        
          'first'
        
        , 
        
          'second'
        
        , 
        
          null
        
        , 
        
          'last'
        
        );
      

? 事務處理

        動作
      
            開始事務:
        
          start
        
        
          transaction
        
      
            提交事務:
        
          commit
        
      
            回滾事務:
        
          rollback
        
      
            設置自動提交:
        
          set
        
         autocommit 1 | 0 
      
            atuoCommit系統默認是1立即提交模式;如果要手動控制事務,需要設置set autoCommit 0;
      
            這樣我們就可以用commit、rollback來控制事務了。
      
        ?
      
        在一段語句塊中禁用autocommit 而不是set autocommit
      
        
          start
        
        
          transaction
        
        ;
      
        
          select
        
         @
        
          result
        
         := 
        
          avg
        
        (age) 
        
          from
        
         temp;
      
        
          update
        
         temp 
        
          set
        
         age = @
        
          result
        
        
          where
        
         id = 2;
      
        
          select
        
         * 
        
          from
        
         temp 
        
          where
        
         id = 2;
        
          //值被改變
        
      
        
          rollback
        
        ;
        
          //回滾
        
      
        
          select
        
         * 
        
          from
        
         temp 
        
          where
        
         id = 2;
        
          //變回來了
        
      
        在此期間只有遇到commit、
        
          rollback
        
          start
        
         Transaction的禁用autocommit才會結束。然后就恢復到原來的autocommit模式;
      
        ?
      
        不能回滾的語句
      
            有些語句不能被回滾。通常,這些語句包括數據定義語言(DDL)語句,比如創建或取消數據庫的語句,
      
            和創建、取消或更改表或存儲的子程序的語句。
      
            您在設計事務時,不應包含這類語句。如果您在事務的前部中發布了一個不能被回滾的語句,
      
            則后部的其它語句會發生錯誤,在這些情況下,通過發布ROLLBACK語句不能 回滾事務的全部效果。
      
        ?
      
        一些操作也會隱式的提交事務
      
        如alter、
        
          create
        
          drop
        
        、rename 
        
          table
        
        、lock 
        
          table
        
          set
        
         autocommit、
        
          start
        
        
          transaction
        
          truncate
        
        
          table
        
         等等,
      
        在事務中出現這些語句也會提交事務的
      
            事務不能嵌套事務
      
            事務的保存點
      
        
          Savepoint
        
         pointName/
        
          Rollback
        
        
          to
        
        
          savepoint
        
         pointName
      
        一個事務可以設置多個保存點,rollback可以回滾到指定的保存點,恢復保存點后面的操作。
      
        如果有后面的保存點和前面的同名,則刪除前面的保存點。
      
        Release savepoint會刪除一個保存點,如果在一段事務中執行commit或rollback,則事務結束,所以保存點刪除。
      
        ?
      
        
          Set
        
         Transaction設計數據庫隔離級別
      
        
          SET
        
         [
        
          GLOBAL
        
         | 
        
          SESSION
        
        ] 
        
          TRANSACTION
        
        
          ISOLATION
        
        
          LEVEL
        
      
        { 
        
          READ
        
         UNCOMMITTED | 
        
          READ
        
         COMMITTED | REPEATABLE 
        
          READ
        
         | SERIALIZABLE }
      
        本語句用于設置事務隔離等級,用于下一個事務,或者用于當前會話。
      
        在默認情況下,
        
          SET
        
         TRANSACTION會為下一個事務(還未開始)設置隔離等級。
      
        如果您使用GLOBAL關鍵詞,則語句會設置全局性的默認事務等級,
      
        用于從該點以后創建的所有新連接。原有的連接不受影響。使用SESSION關鍵測可以設置默認事務等級,
      
        用于對當前連接執行的所有將來事務。
      
        默認的等級是REPEATABLE READ全局隔離等級。
      

?

? 注釋

        
          select
        
         1+1;     # 單行注釋
      
        
          select
        
         1+1;     
        
          -- 單行注釋
        
      
        
          select
        
         1 
        
          /* 多行注釋 */ + 1;
        
      

? 基本數據類型操作

        字符串
      
        
          select
        
        
          'hello'
        
        , 
        
          '"hello"'
        
        , 
        
          '""hello""'
        
        , 
        
          'hel'
        
        
          'lo'
        
        , 
        
          '\'
        
        hello
        
          ';
        
      
            select "hello", "'hello
        
          '", "'
        
        
          'hello'
        
        
          '", "hel""lo", "\"hello";
        
      
        ?
      
        \n換行
      
            select 'This\nIs\nFour\nLines
        
          ';
        
      
        ?
      
        \轉義
      
            select 'hello \ world!
        
          ';
        
      
            select 'hello \world!
        
          ';
        
      
            select 'hello \\ world!
        
          ';
        
      
            select 'hello \
        
          ' world!'
        
        ;
      

? 設置數據庫mode模式

        
          SET
        
         sql_mode=
        
          'ANSI_QUOTES'
        
        ;
      
        
          create
        
        
          table
        
         t(a 
        
          int
        
        );
      
        
          create
        
        
          table
        
         "tt"(a 
        
          int
        
        );
      
        
          create
        
        
          table
        
         "t""t"(a 
        
          int
        
        );
      
        craate talbe tab("a""b" 
        
          int
        
        );
      

? 用戶變量

        
          set
        
         @num1 = 0, @num2 = 2, @
        
          result
        
         = 0; 
      
        
          select
        
         @
        
          result
        
         := (@num1 := 5) + @num2 := 3, @num1, @num2, @
        
          result
        
        ; 
      

? 存儲過程

        創建存儲過程:
      
        delimiter 
        
          //
        
      
        
          create
        
        
          procedure
        
        
          get
        
        (
        
          out
        
        
          result
        
        
          int
        
        )
      
        
          begin
        
      
        
          select
        
        
          max
        
        (age) 
        
          into
        
        
          result
        
        
          from
        
         temp;
      
        
          end
        
        
          //
        
      
        調用存儲過程:
      
        
          call
        
        
          get
        
        (@temp);
      
        查詢結果:
      
        
          select
        
         @temp;
      
        ?
      
        刪除存儲過程:
      
        
          drop
        
        
          procedure
        
        
          get
        
        ;
      
        ?
      
        查看存儲過程創建語句:
      
        show 
        
          create
        
        
          procedure
        
        
          get
        
        ;
      
        ?
      
        
          select
        
          into
        
         可以完成單行記錄的賦值:
      
        
          create
        
        
          procedure
        
         getRecord(sid 
        
          int
        
        )
      
        
          begin
        
      
        
          declare
        
         v_name 
        
          varchar
        
        (20) 
        
          default
        
        
          'jason'
        
        ;
      
        
          declare
        
         v_age 
        
          int
        
        ;
      
        
          declare
        
         v_sex 
        
          bit
        
        ;
      
        
          select
        
         name, age, sex 
        
          into
        
         v_name, v_age, v_sex 
        
          from
        
         temp 
        
          where
        
         id = sid;
      
        
          select
        
         v_name, v_age, v_sex;
      
        
          end
        
        ;
      
        
          call
        
         getRecord(1);
      

? 函數

        函數類似于存儲過程,只是調用方式不同
      
        例如:
        
          select
        
        
          max
        
        (age) 
        
          from
        
         temp;
      
        ?
      
        創建函數:
      
        
          create
        
        
          function
        
         addAge(age 
        
          int
        
        ) 
        
          returns
        
        
          int
        
      
        
          return
        
         age + 5;
      
        ?
      
        使用函數:
      
        
          select
        
         addAge(age) 
        
          from
        
         temp;
      
        ?
      
        刪除函數:
      
        
          drop
        
        
          function
        
        
          if
        
        
          exists
        
         addAge;
      
        
          drop
        
        
          function
        
         addAge;
      
        ?
      
        顯示創建語法:
      
        show 
        
          create
        
        
          function
        
         addAge; 
      

? 游標

        聲明游標:
        
          declare
        
         cur_Name 
        
          cursor
        
        
          for
        
        
          select
        
         name 
        
          from
        
         temp;
      
        打開游標:
        
          open
        
         cur_Name;
      
        Fetch游標:
        
          fetch
        
         cur_Name 
        
          into
        
         @temp;
      
        關閉游標:
        
          close
        
         cur_Name;
      
        ?
      
        示例:
      
        
          CREATE
        
        
          PROCEDURE
        
         cur_show()
      
        
          BEGIN
        
      
        
          DECLARE
        
         done 
        
          INT
        
        
          DEFAULT
        
         0;
      
        
          DECLARE
        
         v_id, v_age 
        
          INT
        
        ;
      
        
          DECLARE
        
         v_name 
        
          varchar
        
        (20);
      
        
          DECLARE
        
         cur_temp 
        
          CURSOR
        
        
          FOR
        
        
          SELECT
        
         id, name, age 
        
          FROM
        
         temp;
      
        
          DECLARE
        
        
          CONTINUE
        
         HANDLER 
        
          FOR
        
        
          SQLSTATE
        
        
          '02000'
        
        
          SET
        
         done = 1;
      
      
        
          OPEN
        
         cur_temp;
      
      
          REPEAT
      
        
          FETCH
        
         cur_temp 
        
          INTO
        
         v_id, v_name, v_age;
      
        
          IF
        
        
          NOT
        
         done 
        
          THEN
        
      
        
          IF
        
         isnull(v_name) 
        
          THEN
        
      
        
          update
        
         temp 
        
          set
        
         name = concat(
        
          'test-json'
        
        , v_id) 
        
          where
        
         id = v_id;
      
               ELSEIF isnull(v_age) 
        
          THEN
        
      
        
          update
        
         temp 
        
          set
        
         age = 22 
        
          where
        
         id = v_id;
      
        
          END
        
        
          IF
        
        ;
      
        
          END
        
        
          IF
        
        ;
      
          UNTIL done 
        
          END
        
         REPEAT;
      
      
        
          CLOSE
        
         cur_temp;
      
        
          END
        
      

? 觸發器

        觸發器分為insert、
        
          update
        
        、delete三種觸發器事件類型
      
        還有after、before觸發時間
      
        創建觸發器:
      
        
          create
        
        
          trigger
        
         trg_temp_ins
      
        
          before
        
         insert
      
        
          on
        
         temp 
        
          for
        
        
          each
        
        
          row
        
      
        
          begin
        
      
        insert 
        
          into
        
         temp_log 
        
          values
        
        (
        
          NEW
        
        .id, 
        
          NEW
        
        .name);
      
        
          end
        
        
          //
        
      
        ?
      
        刪除觸發器:
      
        
          drop
        
        
          trigger
        
         trg_temp_ins
      

MySQL學習筆記二


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 热伊人99re久久精品最新地 | 国产人成 | 91在线播放免费不卡无毒 | 亚洲综合区| 国产精品久久久久影视青草 | 国产精品福利短视在线播放频 | 欧美日韩一区精品 | 久久久国产精品 | 国内精品免费一区二区三区 | 亚洲天堂欧美在线 | 日韩成人 | 国产欧美一区二区精品久久久 | 四虎1515hh海外永久免费在线 | 三级网站免费观看 | 国外成人在线视频网站 | www.一区| 91久久亚洲国产成人精品性色 | 奇米影视欧美 | 男女搞逼视频 | 中文字幕精品一区二区三区精品 | 黑人狂躁日本妞无码A片 | 国产精品日韩欧美在线第3页 | 欧美高清在线精品一区二区不卡 | 午夜精品久久久久久久久久久久久 | 2017无毒的黄网网址 | 久久国产高清 | 国产成人精品一区二三区 | 亚洲狠狠婷婷综合久久蜜桃 | 色吊丝国产 | 久久久久成人精品亚洲国产 | 色播在线视频 | 黄色片av | 一级做a爰片欧美一区 | 国产日本三级欧美三级妇三级四 | 成人免费午夜性视频 | 国产成人精品永久免费视频 | 日本高清天码一区在线播放 | 亚洲精品乱码久久久久久v 国产高清免费视频 | 一级特黄特黄毛片欧美的 | 国产一区二区久久久 | 免费中文字幕 |