日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

视图、触发器、事务、存储过程、函数

發(fā)布時間:2025/7/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 视图、触发器、事务、存储过程、函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

視圖

  • 視圖是一個虛擬表(非真實存在),其本質是【根據SQL語句獲取動態(tài)的數(shù)據集,并為其命名】,用戶使用時只需使用【名稱】即可獲取結果集,可以將該結果集當做表來使用。
  • 使用視圖我們可以把查詢過程中的臨時表摘出來,用視圖去實現(xiàn),這樣以后再想操作該臨時表的數(shù)據時就無需重寫復雜的sql了,直接去視圖中查找即可,
  • 但視圖有明顯地效率問題,并且視圖是存放在數(shù)據庫中的,如果我們程序中使用的sql過分依賴數(shù)據庫中的視圖,即強耦合,那就意味著擴展sql極為不便,因此并不推薦使用

?

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 """ 視圖: 兩張有關系的表 course表:cid?? cname?? teacher_id(teacher表中的tid) teacher表:tid? tname """ #查詢tom教授的課程名 select cname from course where teacher_id = (select tid from teacher where tname='tom'); #創(chuàng)建視圖 create view teacher_view as select tid from teacher where tname='tom'; #于是查詢tom教授的課程名的sql可以改寫為 select cname from course where teacher_id = (select tid from teacher_view); #更新視圖中的數(shù)據 update teacher_view set tname='xxx'; #往視圖中插入數(shù)據 insert into teacher_view values('yyy'); #修改視圖,原始表也跟著改,我們不應該修改視圖中的記錄,而且在涉及多個表的情況下是根本無法修改視圖中的記錄的 #修改視圖 alter view teacher_view as select * from course where cid>3; #刪除視圖 DROP VIEW teacher_view

觸發(fā)器

使用觸發(fā)器可以定制用戶對表進行【增、刪、改】操作時前后的行為,注意:沒有查詢

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 """ 特別的:NEW表示即將插入的數(shù)據行,OLD表示即將刪除的數(shù)據行。 觸發(fā)器無法由用戶直接調用,而由表的【增/刪/改】操作被動引發(fā)的。 """ #插入后觸發(fā)觸發(fā)器 #準備表 CREATE TABLE cmd ( ????id INT PRIMARY KEY auto_increment, ????USER CHAR (32), ????priv CHAR (10), ????cmd CHAR (64), ????sub_time datetime, #提交時間 ????success enum ('yes', 'no') #0代表執(zhí)行失敗 ); CREATE TABLE errlog ( ????id INT PRIMARY KEY auto_increment, ????err_cmd CHAR (64), ????err_time datetime ); #創(chuàng)建觸發(fā)器 delimiter // CREATE TRIGGER tri_after_insert_cmd AFTER INSERT ON cmd FOR EACH ROW BEGIN ????IF NEW.success = 'no' THEN #等值判斷只有一個等號 ????????????INSERT INTO errlog(err_cmd, err_time) VALUES(NEW.cmd, NEW.sub_time) ; #必須加分號 ??????END IF ; #必須加分號 END// delimiter ; #往表cmd中插入記錄,觸發(fā)觸發(fā)器,根據IF的條件決定是否插入錯誤日志 INSERT INTO cmd ( ????USER, ????priv, ????cmd, ????sub_time, ????success ) VALUES ????('tom','0755','ls -l /etc',NOW(),'yes'), ????('tom','0755','cat /etc/passwd',NOW(),'no'), ????('tom','0755','useradd xxx',NOW(),'no'), ????('tom','0755','ps aux',NOW(),'yes'); #查詢錯誤日志,發(fā)現(xiàn)有兩條 mysql> select * from errlog; +----+-----------------+---------------------+ | id | err_cmd???????? | err_time??????????? | +----+-----------------+---------------------+ |? 1 | cat /etc/passwd | 2017-09-14 22:18:48 | |? 2 | useradd xxx???? | 2017-09-14 22:18:48 | +----+-----------------+---------------------+ 2 rows in set (0.00 sec) #刪除觸發(fā)器: drop trigger tri_after_insert_cmd; # 插入前 CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW BEGIN ????... END # 插入后 CREATE TRIGGER tri_after_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW BEGIN ????... END # 刪除前 CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE ON tb1 FOR EACH ROW BEGIN ????... END # 刪除后 CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE ON tb1 FOR EACH ROW BEGIN ????... END # 更新前 CREATE TRIGGER tri_before_update_tb1 BEFORE UPDATE ON tb1 FOR EACH ROW BEGIN ????... END # 更新后 CREATE TRIGGER tri_after_update_tb1 AFTER UPDATE ON tb1 FOR EACH ROW BEGIN ????... END

事務

事務用于將某些操作的多個SQL作為原子性操作,一旦有某一個出現(xiàn)錯誤,即可回滾到原來的狀態(tài),從而保證數(shù)據庫數(shù)據完整性。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 create table user( id int primary key auto_increment, name char(32), balance int ); insert into user(name,balance) values ('tom',1000), ('jack',1000), ('rose',1000); #原子操作 start transaction; update user set balance=900 where name='rose'; #買支付100元 update user set balance=1010 where name='tom'; #中介拿走10元 update user set balance=1090 where name='jack'; #賣家拿到90元 commit; #出現(xiàn)異常,回滾到初始狀態(tài) start transaction; update user set balance=900 where name='rose'; #買支付100元 update user set balance=1010 where name='tom'; #中介拿走10元 uppdate user set balance=1090 where name='jack'; #賣家拿到90元,出現(xiàn)異常沒有拿到 rollback; commit; mysql> select * from user; +----+------+---------+ | id | name | balance | +----+------+---------+ |? 1 | tom? |??? 1000 | |? 2 | jack |??? 1000 | |? 3 | rose? |??? 1000 | +----+------+---------+ 3 rows in set (0.00 sec)

存儲過程

存儲過程包含了一系列可執(zhí)行的sql語句,存儲過程存放于MySQL中,通過調用它的名字可以執(zhí)行其內部的一堆sql

  • 優(yōu)點:
  • 用于替代程序寫的SQL語句,實現(xiàn)程序與sql解耦
  • 基于網絡傳輸,傳別名的數(shù)據量小,而直接傳sql數(shù)據量大
  • 缺點:
  • 程序員擴展功能不方便
  • 程序與數(shù)據庫結合使用的三種方式:
  • 方式1:
  • MySQL:存儲過程
  • 程序:調用存儲過程
  • 方式2:
  • MySQL:
  • 程序:純SQL語句
  • 方式3:
  • MySQL:
  • 程序:類和對象,即ORM(本質還是純SQL語句)

一、創(chuàng)建簡單存儲過程(無參)

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 delimiter // create procedure p1() BEGIN ????select * from blog; ????INSERT into blog(name,sub_time) values("xxx",now()); END // delimiter ; #查看存儲過程 show create procedure p1\G ?? #在mysql中調用 call p1() ?? #在python中基于pymysql調用 cursor.callproc('p1') print(cursor.fetchall())

二、創(chuàng)建存儲過程(有參)

  • 對于存儲過程,可以接收參數(shù),其參數(shù)有三類:
  • #in 僅用于傳入參數(shù)用
  • #out 僅用于返回值用
  • #inout 既可以傳入又可以當作返回值

1、in:傳入參數(shù)

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 delimiter // create procedure p2( ????in n1 int, ????in n2 int ) BEGIN ????? ????select * from blog where id > n1; END // delimiter ; #在mysql中調用 call p2(3,2) #在python中基于pymysql調用 cursor.callproc('p2',(3,2)) print(cursor.fetchall())

2、out:返回值

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #out:返回值 delimiter // create procedure p3( ????in n1 int, ????out res int ) BEGIN ????select * from blog where id > n1; ????set res = 1; END // delimiter ; #在mysql中調用 set @res=0; #0代表假(執(zhí)行失敗),1代表真(執(zhí)行成功) call p3(3,@res); select @res; #在python中基于pymysql調用 cursor.callproc('p3',(3,0)) #0相當于set @res=0 print(cursor.fetchall()) #查詢select的查詢結果 cursor.execute('select @_p3_0,@_p3_1;') #@p3_0代表第一個參數(shù),@p3_1代表第二個參數(shù),即返回值 print(cursor.fetchall())

3、inout:既可以傳入又可以返回

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #inout:既可以傳入又可以返回 delimiter // create procedure p4( ????inout n1 int ) BEGIN ????select * from blog where id > n1; ????set n1 = 1; END // delimiter ; #在mysql中調用 set @x=3; call p4(@x); select @x; #在python中基于pymysql調用 cursor.callproc('p4',(3,)) print(cursor.fetchall()) #查詢select的查詢結果 cursor.execute('select @_p4_0;') print(cursor.fetchall())

4、事務

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 #介紹 delimiter // ????????????create procedure p4( ????????????????out status int ????????????) ????????????BEGIN ????????????????1. 聲明如果出現(xiàn)異常則執(zhí)行{ ????????????????????set status = 1; ????????????????????rollback; ????????????????} ???????????????????? ????????????????開始事務 ????????????????????-- 由秦兵賬戶減去100 ????????????????????-- 方少偉賬戶加90 ????????????????????-- 張根賬戶加10 ????????????????????commit; ????????????????結束 ????????????????? ????????????????set status = 2; ????????????????? ????????????????? ????????????END // ????????????delimiter ; #實現(xiàn) delimiter // create PROCEDURE p5( ????OUT p_return_code tinyint ) BEGIN ????DECLARE exit handler for sqlexception ????BEGIN ????????-- ERROR ????????set p_return_code = 1; ????????rollback; ????END; ????DECLARE exit handler for sqlwarning ????BEGIN ????????-- WARNING ????????set p_return_code = 2; ????????rollback; ????END; ????START TRANSACTION; ????????DELETE from tb1; #執(zhí)行失敗 ????????insert into blog(name,sub_time) values('yyy',now()); ????COMMIT; ????-- SUCCESS ????set p_return_code = 0; #0代表執(zhí)行成功 END // delimiter ; #在mysql中調用存儲過程 set @res=123; call p5(@res); select @res; #在python中基于pymysql調用存儲過程 cursor.callproc('p5',(123,)) print(cursor.fetchall()) #查詢select的查詢結果 cursor.execute('select @_p5_0;') print(cursor.fetchall())

三、執(zhí)行存儲過程

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #在MySQL中執(zhí)行存儲過程 -- 無參數(shù) call proc_name() -- 有參數(shù),全in call proc_name(1,2) -- 有參數(shù),有in,out,inout set @t1=0; set @t2=3; call proc_name(1,2,@t1,@t2) # 執(zhí)行存儲過程 #在python中基于pymysql執(zhí)行存儲過程 import pymysql conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1') cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 執(zhí)行存儲過程 cursor.callproc('p1', args=(1, 22, 3, 4)) # 獲取執(zhí)行完存儲的參數(shù) cursor.execute("select @_p1_0,@_p1_1,@_p1_2,@_p1_3") result = cursor.fetchall() conn.commit() cursor.close() conn.close() print(result)

四、刪除存儲過程

  • drop procedure proc_name;

函數(shù)

一、常用函數(shù)

?
1 2 3 4 5 6 7 8 9 10 11 12 #提取sub_time字段的值,按照格式后的結果即"年月"來分組 sub_time默認格式 '2017-03-01 18:31:21' SELECT DATE_FORMAT(sub_time,'%Y-%m'),COUNT(1) FROM blog GROUP BY DATE_FORMAT(sub_time,'%Y-%m'); #結果 +-------------------------------+----------+ | DATE_FORMAT(sub_time,'%Y-%m') | COUNT(1) | +-------------------------------+----------+ | 2015-03?????????????????????? |??????? 2 | | 2016-07?????????????????????? |??????? 4 | | 2017-03?????????????????????? |??????? 3 | +-------------------------------+----------+

二、內置函數(shù)

一、數(shù)學函數(shù)ROUND(x,y)返回參數(shù)x的四舍五入的有y位小數(shù)的值RAND()返回0到1內的隨機值,可以通過提供一個參數(shù)(種子)使RAND()隨機數(shù)生成器生成一個指定的值。二、聚合函數(shù)(常用于GROUP BY從句的SELECT查詢中)AVG(col)返回指定列的平均值COUNT(col)返回指定列中非NULL值的個數(shù)MIN(col)返回指定列的最小值MAX(col)返回指定列的最大值SUM(col)返回指定列的所有值之和GROUP_CONCAT(col) 返回由屬于一組的列值連接組合而成的結果 三、字符串函數(shù)CHAR_LENGTH(str)返回值為字符串str 的長度,長度的單位為字符。一個多字節(jié)字符算作一個單字符。CONCAT(str1,str2,...)字符串拼接如有任何一個參數(shù)為NULL ,則返回值為 NULL。CONCAT_WS(separator,str1,str2,...)字符串拼接(自定義連接符)CONCAT_WS()不會忽略任何空字符串。 (然而會忽略所有的 NULL)。CONV(N,from_base,to_base)進制轉換例如:SELECT CONV('a',16,2); 表示將 a 由16進制轉換為2進制字符串表示FORMAT(X,D)將數(shù)字X 的格式寫為'#,###,###.##',以四舍五入的方式保留小數(shù)點后 D 位, 并將結果以字符串的形式返回。若 D 為 0, 則返回結果不帶有小數(shù)點,或不含小數(shù)部分。例如:SELECT FORMAT(12332.1,4); 結果為: '12,332.1000'INSERT(str,pos,len,newstr)在str的指定位置插入字符串pos:要替換位置其實位置len:替換的長度newstr:新字符串特別的:如果pos超過原字符串長度,則返回原字符串如果len超過原字符串長度,則由新字符串完全替換INSTR(str,substr)返回字符串 str 中子字符串的第一個出現(xiàn)位置。LEFT(str,len)返回字符串str 從開始的len位置的子序列字符。LOWER(str)變小寫UPPER(str)變大寫REVERSE(str)返回字符串 str ,順序和字符順序相反。SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)不帶有l(wèi)en 參數(shù)的格式從字符串str返回一個子字符串,起始于位置 pos。帶有l(wèi)en參數(shù)的格式從字符串str返回一個長度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式為標準 SQL 語法。也可能對pos使用一個負值。假若這樣,則子字符串的位置起始于字符串結尾的pos 字符,而不是字符串的開頭位置。在以下格式的函數(shù)中可以對pos 使用一個負值。mysql> SELECT SUBSTRING('Quadratically',5);-> 'ratically'mysql> SELECT SUBSTRING('foobarbar' FROM 4);-> 'barbar'mysql> SELECT SUBSTRING('Quadratically',5,6);-> 'ratica'mysql> SELECT SUBSTRING('Sakila', -3);-> 'ila'mysql> SELECT SUBSTRING('Sakila', -5, 3);-> 'aki'mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);-> 'ki'四、日期和時間函數(shù)CURDATE()或CURRENT_DATE() 返回當前的日期CURTIME()或CURRENT_TIME() 返回當前的時間DAYOFWEEK(date) 返回date所代表的一星期中的第幾天(1~7)DAYOFMONTH(date) 返回date是一個月的第幾天(1~31)DAYOFYEAR(date) 返回date是一年的第幾天(1~366)DAYNAME(date) 返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);FROM_UNIXTIME(ts,fmt) 根據指定的fmt格式,格式化UNIX時間戳tsHOUR(time) 返回time的小時值(0~23)MINUTE(time) 返回time的分鐘值(0~59)MONTH(date) 返回date的月份值(1~12)MONTHNAME(date) 返回date的月份名,如:SELECT MONTHNAME(CURRENT_DATE);NOW() 返回當前的日期和時間QUARTER(date) 返回date在一年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE);WEEK(date) 返回日期date為一年中第幾周(0~53)YEAR(date) 返回日期date的年份(1000~9999)重點:DATE_FORMAT(date,format) 根據format字符串格式化date值mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');-> 'Sunday October 2009'mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s');-> '22:23:00'mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00',-> '%D %y %a %d %m %b %j');-> '4th 00 Thu 04 10 Oct 277'mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',-> '%H %k %I %r %T %S %w');-> '22 22 10 10:23:00 PM 22:23:00 00 6'mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');-> '1998 52'mysql> SELECT DATE_FORMAT('2006-06-00', '%d');-> '00'五、加密函數(shù)MD5() 計算字符串str的MD5校驗和PASSWORD(str) 返回字符串str的加密版本,這個加密過程是不可逆轉的,和UNIX密碼加密過程使用不同的算法。六、控制流函數(shù) CASE WHEN[test1] THEN [result1]...ELSE [default] END如果testN是真,則返回resultN,否則返回defaultCASE [test] WHEN[val1] THEN [result]...ELSE [default]END 如果test和valN相等,則返回resultN,否則返回defaultIF(test,t,f) 如果test是真,返回t;否則返回fIFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否則返回arg2NULLIF(arg1,arg2) 如果arg1=arg2返回NULL;否則返回arg1 七、控制流函數(shù)小練習 #7.1、準備表 /* Navicat MySQL Data TransferSource Server : localhost_3306 Source Server Version : 50720 Source Host : localhost:3306 Source Database : studentTarget Server Type : MYSQL Target Server Version : 50720 File Encoding : 65001Date: 2018-01-02 12:05:30 */SET FOREIGN_KEY_CHECKS=0;-- ---------------------------- -- Table structure for course -- ---------------------------- DROP TABLE IF EXISTS `course`; CREATE TABLE `course` (`c_id` int(11) NOT NULL,`c_name` varchar(255) DEFAULT NULL,`t_id` int(11) DEFAULT NULL,PRIMARY KEY (`c_id`),KEY `t_id` (`t_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of course -- ---------------------------- INSERT INTO `course` VALUES ('1', 'python', '1'); INSERT INTO `course` VALUES ('2', 'java', '2'); INSERT INTO `course` VALUES ('3', 'linux', '3'); INSERT INTO `course` VALUES ('4', 'web', '2');-- ---------------------------- -- Table structure for score -- ---------------------------- DROP TABLE IF EXISTS `score`; CREATE TABLE `score` (`id` int(11) NOT NULL AUTO_INCREMENT,`s_id` int(10) DEFAULT NULL,`c_id` int(11) DEFAULT NULL,`num` double DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of score-- ---------------------------- INSERT INTO `score` VALUES ('1', '1', '1', '79'); INSERT INTO `score` VALUES ('2', '1', '2', '78'); INSERT INTO `score` VALUES ('3', '1', '3', '35'); INSERT INTO `score` VALUES ('4', '2', '2', '32'); INSERT INTO `score` VALUES ('5', '3', '1', '66'); INSERT INTO `score` VALUES ('6', '4', '2', '77'); INSERT INTO `score` VALUES ('7', '4', '1', '68'); INSERT INTO `score` VALUES ('8', '5', '1', '66'); INSERT INTO `score` VALUES ('9', '2', '1', '69'); INSERT INTO `score` VALUES ('10', '4', '4', '75'); INSERT INTO `score` VALUES ('11', '5', '4', '66.7');-- ---------------------------- -- Table structure for student -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE TABLE `student` (`s_id` varchar(20) NOT NULL,`s_name` varchar(255) DEFAULT NULL,`s_age` int(10) DEFAULT NULL,`s_sex` char(1) DEFAULT NULL,PRIMARY KEY (`s_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of student -- ---------------------------- INSERT INTO `student` VALUES ('1', '魯班', '12', ''); INSERT INTO `student` VALUES ('2', '貂蟬', '20', ''); INSERT INTO `student` VALUES ('3', '劉備', '35', ''); INSERT INTO `student` VALUES ('4', '關羽', '34', ''); INSERT INTO `student` VALUES ('5', '張飛', '33', '');-- ---------------------------- -- Table structure for teacher -- ---------------------------- DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` (`t_id` int(10) NOT NULL,`t_name` varchar(50) DEFAULT NULL,PRIMARY KEY (`t_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of teacher -- ---------------------------- INSERT INTO `teacher` VALUES ('1', '大王'); INSERT INTO `teacher` VALUES ('2', 'alex'); INSERT INTO `teacher` VALUES ('3', 'egon'); INSERT INTO `teacher` VALUES ('4', 'peiqi');#7.2、統(tǒng)計各科各分數(shù)段人數(shù).顯示格式:課程ID,課程名稱,[100-85],[85-70],[70-60],[ <60]select score.c_id,course.c_name, sum(CASE WHEN num BETWEEN 85 and 100 THEN 1 ELSE 0 END) as '[100-85]',sum(CASE WHEN num BETWEEN 70 and 85 THEN 1 ELSE 0 END) as '[85-70]',sum(CASE WHEN num BETWEEN 60 and 70 THEN 1 ELSE 0 END) as '[70-60]',sum(CASE WHEN num < 60 THEN 1 ELSE 0 END) as '[ <60]' from score,course where score.c_id=course.c_id GROUP BY score.c_id; MySQL中提供了許多內置函數(shù)

更多函數(shù):中文點擊這里?OR?官方點擊這里

三、自定義函數(shù)

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 """ 自定義函數(shù): 函數(shù)中不要寫sql語句(否則會報錯),函數(shù)僅僅只是一個功能,是一個在sql中被應用的功能 若要想在begin...end...中寫sql,請用存儲過程 """ delimiter // create function f1( ????i1 int, ????i2 int) returns int BEGIN ????declare num int; ????set num = i1 + i2; ????return(num); END // delimiter ; ### delimiter // create function f5( ????i int ) returns int begin ????declare res int default 0; ????if i = 10 then ????????set res=100; ????elseif i = 20 then ????????set res=200; ????elseif i = 30 then ????????set res=300; ????else ????????set res=400; ????end if; ????return res; end // delimiter ; #刪除函數(shù) drop function func_name; #執(zhí)行函數(shù) # 獲取返回值 select UPPER('egon') into @res; SELECT @res; # 在查詢中使用 select f1(11,nid) ,name from tb2;

流程控制

一、條件語句

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 delimiter // CREATE PROCEDURE proc_if () BEGIN ????? ????declare i int default 0; ????if i = 1 THEN ????????SELECT 1; ????ELSEIF i = 2 THEN ????????SELECT 2; ????ELSE ????????SELECT 7; ????END IF; END // delimiter ;

二、循環(huán)語句

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #while循環(huán) delimiter // CREATE PROCEDURE proc_while () BEGIN ?? ????DECLARE num INT ; ????SET num = 0 ; ????WHILE num < 10 DO ????????SELECT ????????????num ; ????????SET num = num + 1 ; ????END WHILE ; ?? END // delimiter ; ?? ?? #repeat循環(huán) delimiter // CREATE PROCEDURE proc_repeat () BEGIN ?? ????DECLARE i INT ; ????SET i = 0 ; ????repeat ????????select i; ????????set i = i + 1; ????????until i >= 5 ????end repeat; ?? END // delimiter ; #Loop BEGIN ????? ????declare i int default 0; ????loop_label: loop ????????? ????????set i=i+1; ????????if i<8 then ????????????iterate loop_label; ????????end if; ????????if i>=10 then ????????????leave loop_label; ????????end if; ????????select i; ????end loop loop_label; END

轉載于:https://www.cnblogs.com/bubu99/p/10171828.html

總結

以上是生活随笔為你收集整理的视图、触发器、事务、存储过程、函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天躁日日躁狠狠躁av麻豆 | 日韩欧美视频在线观看免费 | 国产亚洲成av片在线观看 | 日韩无在线 | 尤物一区二区三区 | 麻豆免费看片 | 六月丁香激情网 | 国产精品不卡在线 | 狠狠干在线 | 可以免费观看的av片 | 中文区中文字幕免费看 | 亚洲乱码久久 | 中文字幕成人 | 精品视频中文字幕 | 麻豆超碰| 99精品欧美一区二区 | www.久草.com | 国产精品久久99综合免费观看尤物 | 日韩中文字幕免费 | 国产精品永久久久久久久www | 亚洲精品在线免费播放 | 亚洲无人区小视频 | 99在线免费视频 | 国产精品女视频 | 黄色大片入口 | 中文字幕日韩免费视频 | 亚洲在线视频免费观看 | 久久久久久激情 | 久久久美女 | 国产二区视频在线观看 | 亚洲另类视频在线 | 亚洲中字幕 | 欧美精品国产综合久久 | 精品久久久久久国产91 | 热久在线 | 国产99视频在线观看 | 狠狠婷婷 | 2020天天干夜夜爽 | 天天操天天射天天 | 久久成人视屏 | 国产精品高清在线 | 国产精品video爽爽爽爽 | 国产一级免费观看 | 久久视精品 | 久久一本综合 | 久久综合视频网 | 婷婷在线免费观看 | 亚洲成人av一区二区 | 欧美日韩在线观看一区二区三区 | 亚洲国产精品视频在线观看 | 日本精品一区二区 | 日日夜夜91 | 国产精品久久中文字幕 | 天天操天天怕 | 一区二区三区 亚洲 | 免费男女网站 | 超碰国产在线播放 | 国产成人三级一区二区在线观看一 | 亚在线播放中文视频 | 高清国产一区 | 久久精品国产免费观看 | 狠狠地日 | 91精品国产福利在线观看 | 欧美日韩高清国产 | 97偷拍在线视频 | 成人免费在线观看入口 | 亚洲免费观看在线视频 | 欧美亚洲一级片 | 久久久久久久久久久久久影院 | 在线观看www91| 国产视频 亚洲精品 | 日韩r级电影在线观看 | 亚洲国产中文字幕在线观看 | 亚洲精品视频在线 | av福利网址导航大全 | 日韩一区精品 | 国产精品亚洲视频 | 国产精品成人久久久久 | 精品99久久| av免费在线网 | 青青看片 | 国产精品私人影院 | 亚洲精品在| 91精品国产91p65 | 国产成人av片 | 成人在线视频免费看 | 黄p网站在线观看 | 很黄很污的视频网站 | av观看在线观看 | 久久久久久久久久久国产精品 | 日本中文在线观看 | 在线观看亚洲免费视频 | 日韩免费观看一区二区三区 | 91成人破解版| 婷婷电影在线观看 | 亚洲精品免费在线视频 | 亚洲精品在线观看网站 | 欧美一二区在线 | av资源在线看 | 中文字幕频道 | 中文字幕精品一区久久久久 | 国产精品视频地址 | 99精品毛片| 欧美激情综合五月色丁香小说 | 久久视频免费看 | 狠狠色噜噜狠狠狠狠2021天天 | 亚洲精选视频在线 | 久久综合狠狠综合久久狠狠色综合 | 国产精品一区二区美女视频免费看 | 免费高清在线视频一区· | 美女久久久久久久久久久 | 久久无码精品一区二区三区 | 黄色大片日本免费大片 | 亚洲一区黄色 | 美女网站在线播放 | 五月婷社区 | 在线观看免费版高清版 | 日韩欧美精品一区二区 | 91久久久久久国产精品 | 国产精品18毛片一区二区 | 人人干人人搞 | 有码中文字幕在线观看 | av在线官网 | 中文字幕免费一区 | 免费精品国产va自在自线 | 日韩最新在线视频 | 久久在线精品 | 成人av一级片| 久久影院一区 | 国内精品久久久久久久影视简单 | 国产在线免费av | 亚洲精品男女 | 国产精品久久久久久久久久不蜜月 | 色就干| 国产麻豆视频 | 91在线免费观看国产 | 亚洲理论片在线观看 | 在线播放 一区 | 精品久久久久久久久久久久 | 国产亚洲精品久久久网站好莱 | 国产精品一区二区三区视频免费 | 免费久久网 | 91av视屏 | 欧美精品在线一区二区 | 二区三区精品 | 久久黄色精品视频 | 国精产品999国精产品视频 | 免费观看mv大片高清 | 免费在线色电影 | 91亚色视频在线观看 | 久久久久伦理电影 | 久久久久久激情 | 精品999久久久 | 日韩av片免费在线观看 | 亚洲成色| 一区二区成人国产精品 | 色亚洲网| 国产福利在线免费 | 免费看短 | 人人澡人摸人人添学生av | 人人爽人人爽人人爽学生一级 | 亚洲精品电影在线 | 免费在线黄| 亚洲成人精品久久久 | 九九交易行官网 | 成av人电影| 一区中文字幕在线观看 | 日韩精品观看 | 日本在线中文 | 久久不射电影院 | 91av大全 | 国产精品精品国产婷婷这里av | 在线看日韩 | a色视频 | 一区二区电影在线观看 | 欧美性做爰猛烈叫床潮 | 日韩视频免费看 | 香蕉视频在线免费 | 超碰在线免费97 | 亚洲综合成人婷婷小说 | 色综合天天综合在线视频 | 国产第一页福利影院 | 欧美激情精品久久久久久免费 | 色网av| 美女精品在线观看 | 国产九九九九九 | 日韩欧美一区二区三区视频 | 天天操网站 | 中文字幕在线观看国产 | 国产一级精品视频 | 色婷婷骚婷婷 | 国内精品久久久久久久久久久久 | 少妇搡bbbb搡bbb搡忠贞 | 国产日韩在线看 | 国产精品久久久亚洲 | av中文字幕免费在线观看 | 97免费视频在线播放 | 欧美日韩性 | 国产麻豆精品一区 | 91精品一区二区在线观看 | 国产精品福利视频 | 日韩精品久久久 | 日本狠狠干 | 天天综合网 天天 | 97视频在线 | 免费的国产精品 | 欧美激情精品久久久久久 | 超碰人人做 | 国产午夜一区 | 日韩精品中文字幕在线播放 | av亚洲产国偷v产偷v自拍小说 | 国产手机在线精品 | 精品久久久一区二区 | 91人人爱 | 国产人成精品一区二区三 | 免费看的黄色 | 中文字幕免费观看视频 | 在线成人小视频 | 又色又爽的网站 | 免费av在线网 | 日韩一区在线免费观看 | 亚洲天堂香蕉 | 国产成人精品综合久久久 | 国产精品免费视频一区二区 | 免费视频黄| 亚洲色五月 | 国产97免费 | 91av视频在线观看免费 | 午夜在线看 | 天天摸天天弄 | 黄色在线观看免费网站 | 奇米影视在线99精品 | 国产专区视频 | 国产精品18久久久久久首页狼 | 日韩视频免费观看高清完整版在线 | 99在线视频网站 | 久久精品国产一区二区电影 | 久久亚洲欧美日韩精品专区 | 超碰在线官网 | 热精品| 欧美一级免费片 | 久草网站在线观看 | 亚洲欧美日韩精品一区二区 | 日韩精品专区 | 午夜骚影 | 日日婷婷夜日日天干 | 久久的色 | 亚洲美女免费视频 | 国产亚洲成人精品 | 亚洲人毛片 | 在线观看黄色大片 | 成人免费观看网站 | 国内久久久久 | 毛片网站在线 | 日韩午夜av | 超碰国产97 | 91九色成人蝌蚪首页 | 久久久三级视频 | www.夜夜夜| 这里只有精品视频在线观看 | 玖玖精品在线 | 四虎影视成人精品国库在线观看 | 成人性生交大片免费看中文网站 | 天堂v中文| 91视频最新网址 | 狠狠躁夜夜躁人人爽超碰91 | 色网站在线免费观看 | 国产亚洲精品bv在线观看 | 亚洲一区精品二人人爽久久 | 免费成人在线观看 | 欧美小视频在线 | 久久天天躁夜夜躁狠狠躁2022 | 精品a在线| 亚洲一区日韩在线 | 国产又粗又猛又爽又黄的视频先 | 日韩视频1 | 怡春院av | 天天躁日日躁狠狠 | 国产精品久久久久久婷婷天堂 | 在线免费视频一区 | 日本特黄特色aaa大片免费 | 成人免费网视频 | 天天综合91 | 久久草草影视免费网 | 久久夜色精品国产欧美一区麻豆 | 96亚洲精品久久 | 国产永久免费高清在线观看视频 | 亚洲成人精品久久久 | 国产日韩在线一区 | 日韩av电影手机在线观看 | 亚洲国产片 | 日韩免费大片 | 久艹视频在线免费观看 | 亚洲黄色软件 | 日韩在线一级 | 西西www4444大胆视频 | 一本之道乱码区 | 日韩色爱 | 国产精品免费观看网站 | 国产亚洲精品综合一区91 | 亚洲综合丁香 | 男女靠逼app | 日韩国产欧美视频 | 久久99亚洲网美利坚合众国 | 亚州国产视频 | 精品国内 | 激情图片区 | 中文字幕免费国产精品 | 国产视频手机在线 | 国产黄色精品 | 成人在线免费看 | 中国一级特黄毛片大片久久 | 在线免费观看麻豆视频 | 免费视频久久久 | 欧美一级日韩三级 | 中文字幕在线看视频国产中文版 | 午夜精品一区二区国产 | 九九日九九操 | 国产精品免费久久久久久久久久中文 | 日韩在线精品一区 | 麻豆国产精品视频 | 久久久免费精品视频 | 超碰成人网 | 全黄色一级片 | av久久在线 | 国产一级免费电影 | 超碰人人91 | 国产午夜精品福利视频 | 国产尤物一区二区三区 | 日韩欧美久久 | 国产午夜精品理论片在线 | 国产男女爽爽爽免费视频 | 国产91九色视频 | 国产97在线视频 | 国产分类视频 | 九色视频自拍 | 韩国av一区二区三区 | 日日成人网 | 久久99精品国产99久久6尤 | 在线国产91 | 亚洲精品福利视频 | 怡红院av久久久久久久 | 日日操天天操狠狠操 | 久久精品视频国产 | 中文字幕在线观看日本 | 香蕉在线播放 | 久草在线视频资源 | 亚洲成av人片在线观看香蕉 | 日本天天操 | 久久久久免费电影 | 亚洲精品欧美视频 | 中文字幕在线免费观看视频 | 欧美日韩高清在线 | 黄视频网站大全 | 日韩免费一区二区在线观看 | 视频三区在线 | 亚洲黄色一级视频 | 久久99精品久久久久久秒播蜜臀 | 中文字幕在线看人 | 国产成人三级在线 | 日本韩国精品在线 | 成人综合婷婷国产精品久久免费 | 在线观看成人小视频 | 午夜国产福利在线观看 | 久久一线 | 亚洲精品乱码久久久久久蜜桃不爽 | 黄av免费在线观看 | 国产精品原创在线 | 国产精品美女免费视频 | 天天操夜操视频 | 国产剧情av在线播放 | 欧美性受极品xxxx喷水 | 国产精品一区二区中文字幕 | 欧美一级免费高清 | 日韩av一区二区在线影视 | 国产伦精品一区二区三区… | 在线视频成人 | 中文字幕中文中文字幕 | www.色的| 日韩高清在线看 | www黄在线| 九九涩涩av台湾日本热热 | 97爱| 午夜久久久久久久久久影院 | 新版资源中文在线观看 | av成人在线电影 | 欧美午夜精品久久久久 | 五月婷婷激情综合 | 综合网天天 | 国产精品12 | 亚洲少妇xxxx | 玖玖玖精品| 丁香影院在线 | 成人动漫一区二区三区 | 国产精品99久久久久久宅男 | 久久九九视频 | 天天色欧美| www色,com| 精品一区中文字幕 | 美女久久| 欧美成人免费在线 | 国产高清中文字幕 | 久久精品成人热国产成 | 中文字幕在线免费观看 | 精品国产精品久久一区免费式 | 亚洲毛片视频 | 久久人人爽人人爽人人片 | 久久99热精品这里久久精品 | 免费看的视频 | 国产成人av福利 | av一区二区在线观看中文字幕 | 欧美国产91 | 欧美老女人xx | 在线观看视频一区二区 | 日韩99热| 国产午夜精品一区二区三区欧美 | 日韩欧美在线免费 | 一区二区成人国产精品 | av福利在线看 | 五月天婷婷狠狠 | 国产69精品久久久久9999apgf | 激情久久伊人 | 免费在线观看日韩欧美 | 国产精品精品久久久久久 | 国产婷婷 | 精品久久久久久国产 | 麻豆视频在线 | 激情影院在线 | 夜夜躁天天躁很躁波 | 在线观看免费黄色 | 久久开心激情 | 5月丁香婷婷综合 | 亚洲成人av在线 | avhd高清在线谜片 | 黄色a视频| 天天色欧美| 久久黄色网页 | 成人影片在线免费观看 | 日韩中文字幕视频在线观看 | 九九久久视频 | 日韩超碰在线 | 91污视频在线观看 | 欧美男男激情videos | av网站在线免费观看 | 国产日韩在线播放 | 久久精品视频在线观看 | 天堂久久电影网 | 激情综合五月婷婷 | 亚洲午夜av久久乱码 | 国产一区在线视频 | 国产精品无av码在线观看 | 国产精品久久久久av福利动漫 | 91在线免费看片 | 国产尤物在线 | 欧美久久精品 | 人人添人人澡人人澡人人人爽 | 国产理论一区二区三区 | 久久电影国产免费久久电影 | 国产精品成人久久 | 人人爽人人爽人人爽学生一级 | 亚洲禁18久人片 | 色综合激情网 | 亚洲乱码精品久久久久 | 天天综合操| 欧美一级网站 | 2023av| 久久国产午夜精品理论片最新版本 | 久草在线网址 | 国产美女主播精品一区二区三区 | 99视频在线 | 在线观看视频91 | 国产麻豆果冻传媒在线观看 | 久久a国产| 色999在线| 色天天综合久久久久综合片 | 91视频最新网址 | 精品免费视频. | 日日爽天天 | 亚洲最新av网站 | 91丨九色丨91啦蝌蚪老版 | 午夜精品福利一区二区 | 狠狠色丁香九九婷婷综合五月 | 日韩av一区在线观看 | av电影中文字幕 | 九九电影在线 | 久久精品国产免费看久久精品 | 亚洲成人一二三 | 欧美精品在线观看免费 | 91网在线观看 | 又长又大又黑又粗欧美 | 婷婷日日 | 国产精品aⅴ| 日韩最新理论电影 | 激情丁香婷婷 | 欧美精品久久久久 | 日韩在线视频网 | 欧美精品乱码99久久影院 | 日韩特级毛片 | 九九热精品国产 | 欧美精品在线一区 | 全久久久久久久久久久电影 | 久久午夜精品影院一区 | 国产精品男女啪啪 | 一区二区三区免费在线观看视频 | v片在线看 | 九九在线高清精品视频 | 亚洲第一av在线 | 亚洲精品影视在线观看 | 黄色片网站av | 91香蕉视频好色先生 | 天天色天天综合网 | 日韩中文字幕免费在线播放 | 成人久久影院 | 五月婷香蕉久色在线看 | 欧美日韩免费一区二区三区 | 国内精品久久久久 | 婷婷视频在线 | 欧美日韩裸体免费视频 | 精品一区二区6 | 婷婷 中文字幕 | 亚洲在线视频网站 | 亚洲精品国产高清 | 欧美电影黄色 | 亚洲一二三久久 | 久久久久久国产精品免费 | 日韩xxx视频 | 亚洲精品色视频 | 美女视频久久久 | 亚洲涩涩色 | 午夜狠狠操| 少妇av网| 在线观看免费视频你懂的 | 四虎国产精品成人免费影视 | 欧美成亚洲 | 久久久久成人精品 | 国产精品久久久久久久婷婷 | 国产亚洲精品成人av久久ww | 在线日韩视频 | 这里有精品在线视频 | 蜜臀一区二区三区精品免费视频 | 国产精品麻豆视频 | 欧美另类亚洲 | 国产91在线播放 | 午夜精品一区二区三区免费 | 激情小说网站亚洲综合网 | 亚洲综合少妇 | 99在线视频播放 | 日韩理论电影在线 | 国产午夜精品一区二区三区在线观看 | 久久久久久久99精品免费观看 | 波多野结衣一区二区 | 国产亚洲无 | 国产亚洲午夜高清国产拍精品 | 国产久视频 | 国产亚洲成人精品 | 亚洲天堂精品视频在线观看 | 色综合久 | 99草在线视频 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 精品久久久久久久久久岛国gif | 欧美精品久久久久久久久久白贞 | 99精品免费久久久久久久久 | 亚洲一区二区三区在线看 | 免费久久99精品国产婷婷六月 | 天天操夜夜干 | 午夜精品久久久久久久久久 | 狠狠色丁香九九婷婷综合五月 | 日日碰狠狠躁久久躁综合网 | 亚洲天天看 | 热re99久久精品国产99热 | 免费高清在线观看成人 | 9999精品免费视频 | 久久国产视屏 | 成人黄色在线看 | 三级性生活视频 | 91在线视频 | 国产午夜精品一区 | 亚洲精品视频免费观看 | 色偷偷88888欧美精品久久久 | 亚洲九九九在线观看 | 在线观看不卡视频 | 日日日干 | 日韩免费电影网站 | 亚洲日本va午夜在线影院 | 亚洲黄色三级 | 夜夜操狠狠干 | 免费高清国产 | 伊人久久一区 | 国产中文字幕一区二区三区 | 日韩欧美91 | 久久丁香网 | 黄色录像av | 91污在线观看 | 成人全视频免费观看在线看 | 9在线观看免费高清完整 | 最近2019年日本中文免费字幕 | 天天激情站 | 亚洲国产成人精品在线观看 | 中文字幕在线播放第一页 | 日韩欧美视频在线 | 91免费黄视频 | 国产日韩欧美精品在线观看 | 91精品国产91久久久久久三级 | 久久夜夜操 | 激情综合五月天 | 免费视频xnxx com | 在线国产专区 | 国产一区二区三区高清播放 | 亚洲视频免费在线观看 | 久99久在线视频 | 久久公开免费视频 | 99精品免费网 | 国产在线综合视频 | 精品国产1区2区 | 日本黄色免费播放 | 91精品一区二区三区久久久久久 | 国产在线超碰 | 国产伦理久久精品久久久久_ | 亚洲高清国产视频 | 国产福利中文字幕 | 国产精品久久久久久久久搜平片 | 亚洲欧美精品一区 | 亚洲va欧洲va国产va不卡 | 日日干天天爽 | 中文字幕在线观看免费观看 | 麻豆视频免费在线 | 久久国产精品99久久久久久老狼 | 欧美激情视频一区二区三区免费 | 99精品视频免费观看 | av在线观 | 激情久久久 | 欧美精品免费在线观看 | 国产69精品久久久久99 | 91chinese在线| 欧美最猛性xxxx | 免费观看www7722午夜电影 | 91亚洲精品久久久中文字幕 | 国产91全国探花系列在线播放 | 国产精品日韩高清 | 久久午夜免费视频 | 狠狠狠色丁香综合久久天下网 | 日韩免费观看视频 | 免费三级a | 久久久久久草 | 在线电影 一区 | 一区二区三区在线观看免费 | 婷婷成人亚洲综合国产xv88 | 亚洲黄色av | 五月婷婷一区 | 国产一级片一区二区三区 | 狠狠色伊人亚洲综合网站野外 | 天天夜夜狠狠操 | 欧美另类z0zx| 五月婷网 | 日韩精品一区二区三区高清免费 | 在线99热 | 日韩中文字幕国产 | 亚洲国产午夜 | 日韩欧美高清在线 | 狠狠操狠狠| 91九色精品国产 | 依人成人综合网 | 精品视频免费久久久看 | 欧美性久久久 | 日韩在线精品 | 国语精品视频 | 成人播放器 | 日日骑| 黄色三级在线看 | av中文字幕日韩 | 91精品国产自产老师啪 | 三级黄色三级 | 精品久久久久久久久久久久久久久久 | 最新国产精品亚洲 | 久久亚洲精品电影 | 91亚洲精品久久久 | 波多野结衣在线中文字幕 | 国产一区二区影院 | 美女视频黄免费 | 久久视频免费看 | 日韩电影精品一区 | 99久久激情视频 | 一区二区三区四区五区在线视频 | 国产精品久久久久久久久久妇女 | 日韩精品免费一线在线观看 | 日韩成人免费观看 | 久久精品二区 | 亚州av网站大全 | 色综合a| 欧美日韩国产二区 | 天天天综合网 | 奇米网网址 | av免费网站观看 | 99视频精品全国免费 | 五月天婷婷狠狠 | 深夜免费网站 | 久久福利小视频 | 视频一区二区三区视频 | 久久久亚洲精品 | 久久久久久久久久久高潮一区二区 | 91色九色 | 日韩欧美高清一区二区三区 | 在线观看av国产 | 一区二区三区免费播放 | 精品夜夜嗨av一区二区三区 | 国产日产亚洲精华av | www..com黄色片 | 欧美一级乱黄 | 香蕉网站在线观看 | 免费碰碰| 日韩性片 | 91.dizhi永久地址最新 | 美女免费网站 | www.99在线观看 | 视频国产精品 | 97在线观看 | 国产免费作爱视频 | 黄色日本片 | 久久激五月天综合精品 | 成人免费观看a | 天堂在线v | 四虎成人精品永久免费av | 免费三级黄色片 | 国产精品123 | 久久国产精品99国产 | 免费观看一区二区三区视频 | 国产成人在线网站 | 久草精品在线观看 | 亚洲国产精品久久久久久 | 日韩av一区二区三区 | 一区二区毛片 | 亚洲国产精品视频 | 狠狠干狠狠久久 | 日韩av网页 | 免费福利在线 | 国产亚洲精品久久久久久移动网络 | 天天做天天爱天天爽综合网 | 综合色中色 | 91福利国产在线观看 | 91免费在线 | 亚洲播放一区 | 色综合天天色综合 | 福利视频第一页 | 亚洲激情精品 | 日日骑 | 国产高清综合 | 欧美天天综合 | 91成年人视频 | 国产精品黄 | 午夜久久久久久久久久影院 | 91麻豆网站 | 天堂在线一区 | 97超碰人人澡人人爱 | 国产精品自产拍在线观看网站 | 欧美精品做受xxx性少妇 | 美女久久久久久久久久久 | 中文在线字幕免 | 国产精品一区二区麻豆 | 国产原创91 | 天天综合网入口 | 天天操夜夜操夜夜操 | 超碰97av在线| 久久一二区 | 九九热在线观看视频 | 五月天精品视频 | 99精品视频在线观看免费 | 国产小视频精品 | 81国产精品久久久久久久久久 | 久久国产区 | 久久久久国产免费免费 | 国产在线观看黄 | 欧美日韩视频观看 | 成人精品福利 | 丁香婷婷久久久综合精品国产 | av电影中文字幕在线观看 | 久久久久国产一区二区三区四区 | 狠狠的日日| 欧美少妇bbwhd| 香蕉精品视频在线观看 | 国产一级视频在线观看 | 99热这里只有精品1 av中文字幕日韩 | 丁香六月天 | 91在线视频免费观看 | 久久久久免费精品国产小说色大师 | 国产精品成人免费精品自在线观看 | 69精品人人人人 | 伊人国产在线观看 | 欧美成人按摩 | 美女网站在线免费观看 | 免费观看成人网 | 久久综合九色综合欧美狠狠 | 欧美日韩精品二区第二页 | 国产91精品一区二区麻豆亚洲 | 久日精品 | 999久久久久久久久久久 | 成人一级片免费看 | 波多野结衣电影一区二区三区 | 99免费看片 | 国产情侣一区 | 国产成人免费在线观看 | 久久综合婷婷国产二区高清 | 国产91勾搭技师精品 | 尤物一区二区三区 | 成人国产精品入口 | 国产麻豆精品一区二区 | av色网站| 免费在线国产视频 | 中文字幕在线乱 | 久热免费| 亚洲综合在线视频 | 黄p在线播放 | 日韩免费专区 | 99久久影视 | 日韩av一区二区在线影视 | 深爱开心激情 | 日韩在线精品视频 | 国产在线传媒 | 深爱激情久久 | 天天操夜夜操国产精品 | 成年人在线观看网站 | 久久99久久99精品免费看小说 | www免费视频com | av网站大全免费 | 91麻豆精品91久久久久同性 | www.天天射.com | 国产免费人人看 | 在线免费中文字幕 | h久久| 久久高清片 | 五月婷婷丁香网 | 日韩av电影免费在线观看 | 人人干人人草 | 亚洲欧美日韩国产一区二区三区 | 玖玖玖精品 | 免费进去里的视频 | 亚洲dvd| 香蕉在线视频观看 | 久久经典国产视频 | 亚洲欧美国产视频 | 午夜国产福利视频 | 久久艹艹 | 香蕉网在线观看 | 在线观看视频日韩 | 一区二区三区国产精品 | 一区二区精品在线视频 | 91精品综合在线观看 | 亚洲天堂网站 | 久久精品首页 | 欧美精品被 | 91精品久久久久久综合五月天 | av电影av在线| 免费在线观看国产黄 | 精品在线一区二区三区 | 三级av免费| 国产成人精品久久久久 | 色综合久久66 | 狠狠伊人 | 欧美aaa大片 | 97av影院 | www.午夜色.com | www.天天射.com| 成人app在线免费观看 | 国产综合91 | 91成人短视频在线观看 | 天天操夜操视频 | 久久国产精品99久久久久久进口 | 亚洲第一伊人 | 欧美日韩一区二区三区在线免费观看 | 国产精品久久久久久a | 婷婷综合亚洲 | 欧美一区二区精美视频 | 91天天操| 精品久久久久国产免费第一页 | 欧美亚洲一级片 | 蜜臀久久99精品久久久无需会员 | www.夜夜| 久草免费在线视频观看 | 韩国av一区二区三区在线观看 | 黄色福利网 | 黄色av一区二区三区 | 欧美日韩在线视频一区 | 国产精品 中文字幕 亚洲 欧美 | 国产精品国产自产拍高清av | 日本在线视频一区二区三区 | а天堂中文最新一区二区三区 | 久久久精品欧美 | 久久久精品一区二区 | 黄色软件在线看 | 国产视频精品久久 | 国产区精品在线 | 91香蕉视频好色先生 | 一区二区三区电影大全 | 久久久久久久久久久久久久电影 | 天天操天天射天天 | 久久久人人人 | 欧美坐爱视频 | 欧美性粗大hdvideo | 欧美a免费 | 亚洲精品日韩一区二区电影 | 免费在线观看视频一区 | 久久少妇免费视频 | 欧美 日韩 国产 成人 在线 | 在线 成人 | 中文字幕人成乱码在线观看 | 丁香一区二区 | 麻豆 91 在线| 天堂av在线中文在线 | av色网站| 成人禁用看黄a在线 | 国产精品av在线 | 国产成人高清av | 国产字幕在线看 | 免费看的视频 | 久久99日韩 | av夜夜操| 超碰国产人人 | 黄色影院在线免费观看 | 精品久久久999 | 久久视频免费在线观看 | 天天色综合1 | www亚洲视频 | 在线www色 | 免费的黄色av| 天天操天天干天天爱 | 少妇bbr搡bbb搡bbb | 天堂在线一区二区 | 亚洲乱码精品久久久久 | 日韩欧美国产视频 | 91在线麻豆 | 国产精品第54页 | 免费av在线网 | 久久有精品 | av黄色影院 | 国产福利一区二区三区在线观看 | 久久国产成人午夜av影院潦草 | 特级大胆西西4444www | 日韩久久精品一区二区三区 | 一级片免费观看视频 | 香蕉影院在线观看 | 免费黄色av电影 | 婷婷激情五月 | 免费成人黄色av | 韩日av在线 | 97视频人人澡人人爽 | 69精品人人人人 | 欧美视频在线二区 | 欧美日韩免费观看一区二区三区 | 国产一级大片在线观看 | 日韩一区二区三区不卡 | 午夜黄色 | 久久好看免费视频 | 婷婷六月激情 | 日日碰夜夜爽 | 97免费 | 特级xxxxx欧美 | 国产成人99久久亚洲综合精品 | 天天综合视频在线观看 | 手机看片国产 | 亚洲精品美女在线观看播放 | 91精品国产欧美一区二区 | 在线视频专区 | 精品一区二区影视 | 色噜噜狠狠狠狠色综合 | 国产乱老熟视频网88av | 自拍超碰在线 | 久久视频 | 玖玖玖精品 | 黄网站免费大全入口 | 欧美成人高清 | 99c视频在线 | 国产精品va最新国产精品视频 | 国产精品欧美久久久久无广告 | 最新99热 | 天天干天天操天天干 | 亚洲精品大片www | 亚洲精品成人在线 | 成人在线电影观看 | 97视频免费观看 | 天天干天天操人体 | 久久精品一级片 | 免费观看一级视频 | 亚洲最新av网站 | 91精品欧美 | 国产涩涩在线观看 | 亚洲国产美女久久久久 | 天天操夜夜曰 | 在线一二三区 | 国产热re99久久6国产精品 | 免费看十八岁美女 | 久久伊人八月婷婷综合激情 | 成人影视免费 | 麻豆影视在线免费观看 | 亚洲一级电影 | 日韩高清精品免费观看 | 久爱精品在线 | 91九色自拍 | 香蕉在线视频观看 | 在线久热 |