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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库

發布時間:2024/9/27 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python CGI編程


什么是CGI

CGI 目前由NCSA維護,NCSA定義CGI如下:

CGI(Common Gateway Interface),通用網關接口,它是一段程序,運行在服務器上如:HTTP服務器,提供同客戶端HTML頁面的接口。


網頁瀏覽

為了更好的了解CGI是如何工作的,我們可以從在網頁上點擊一個鏈接或URL的流程:

  • 1、使用你的瀏覽器訪問URL并連接到HTTP web 服務器。
  • 2、Web服務器接收到請求信息后會解析URL,并查找訪問的文件在服務器上是否存在,如果存在返回文件的內容,否則返回錯誤信息。
  • 3、瀏覽器從服務器上接收信息,并顯示接收的文件或者錯誤信息。

CGI程序可以是Python腳本,PERL腳本,SHELL腳本,C或者C++程序等。


CGI架構圖


Web服務器支持及配置

在你進行CGI編程前,確保您的Web服務器支持CGI及已經配置了CGI的處理程序。

Apache 支持CGI 配置:

設置好CGI目錄:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

所有的HTTP服務器執行CGI程序都保存在一個預先配置的目錄。這個目錄被稱為CGI目錄,并按照慣例,它被命名為/var/www/cgi-bin目錄。

CGI文件的擴展名為.cgi,python也可以使用.py擴展名。

默認情況下,Linux服務器配置運行的cgi-bin目錄中為/var/www。

如果你想指定其他運行CGI腳本的目錄,可以修改httpd.conf配置文件,如下所示:

<Directory "/var/www/cgi-bin">AllowOverride NoneOptions +ExecCGIOrder allow,denyAllow from all </Directory>

在 AddHandler 中添加 .py 后綴,這樣我們就可以訪問 .py 結尾的 python 腳本文件:

AddHandler cgi-script .cgi .pl .py

第一個CGI程序

我們使用Python創建第一個CGI程序,文件名為hello.py,文件位于/var/www/cgi-bin目錄中,內容如下,修改文件的權限為755:

#!/usr/bin/python # -*- coding: UTF-8 -*-print "Content-type:text/html" print '<html>' print '<head>' print '<title>Hello Word - First CGI Program</title>' print '</head>' print '<body>' print '<h2>Hello Word! This is my first CGI program</h2>' print '</body>' print '</html>'

以上程序在瀏覽器訪問顯示結果如下:

Hello Word! This is my first CGI program

這個的hello.py腳本是一個簡單的Python腳本,腳本第一行的輸出內容"Content-type:text/html "發送到瀏覽器并告知瀏覽器顯示的內容類型為"text/html"。


HTTP頭部

hello.py文件內容中的"Content-type:text/html "即為HTTP頭部的一部分,它會發送給瀏覽器告訴瀏覽器文件的內容類型。

HTTP頭部的格式如下:

HTTP 字段名: 字段內容例如 Content-type: text/html

以下表格介紹了CGI程序中HTTP頭部經常使用的信息:

描述

Content-type:

請求的與實體對應的MIME信息。例如: Content-type:text/html

Expires: Date

響應過期的日期和時間

Location: URL

用來重定向接收方到非請求URL的位置來完成請求或標識新的資源

Last-modified: Date

請求資源的最后修改時間

Content-length: N

請求的內容長度

Set-Cookie: String

設置Http Cookie


CGI環境變量

所有的CGI程序都接收以下的環境變量,這些變量在CGI程序中發揮了重要的作用:

變量名

描述

CONTENT_TYPE

這個環境變量的值指示所傳遞來的信息的MIME類型。目前,環境變量CONTENT_TYPE一般都是:application/x-www-form-urlencoded,他表示數據來自于HTML表單。

CONTENT_LENGTH

如果服務器與CGI程序信息的傳遞方式是POST,這個環境變量即使從標準輸入STDIN中可以讀到的有效數據的字節數。這個環境變量在讀取所輸入的數據時必須使用。

HTTP_COOKIE

客戶機內的 COOKIE 內容。

HTTP_USER_AGENT

提供包含了版本數或其他專有數據的客戶瀏覽器信息。

PATH_INFO

這個環境變量的值表示緊接在CGI程序名之后的其他路徑信息。它常常作為CGI程序的參數出現。

QUERY_STRING

如果服務器與CGI程序信息的傳遞方式是GET,這個環境變量的值即使所傳遞的信息。這個信息經跟在CGI程序名的后面,兩者中間用一個問號'?'分隔。

REMOTE_ADDR

這個環境變量的值是發送請求的客戶機的IP地址,例如上面的192.168.1.67。這個值總是存在的。而且它是Web客戶機需要提供給Web服務器的唯一標識,可以在CGI程序中用它來區分不同的Web客戶機。

REMOTE_HOST

這個環境變量的值包含發送CGI請求的客戶機的主機名。如果不支持你想查詢,則無需定義此環境變量。

REQUEST_METHOD

提供腳本被調用的方法。對于使用 HTTP/1.0 協議的腳本,僅 GET 和 POST 有意義。

SCRIPT_FILENAME

CGI腳本的完整路徑

SCRIPT_NAME

CGI腳本的的名稱

SERVER_NAME

這是你的 WEB 服務器的主機名、別名或IP地址。

SERVER_SOFTWARE

這個環境變量的值包含了調用CGI程序的HTTP服務器的名稱和版本號。例如,上面的值為Apache/2.2.14(Unix)

以下是一個簡單的CGI腳本輸出CGI的環境變量:

#!/usr/bin/python # -*- coding: UTF-8 -*-import osprint "Content-type: text/html"; print "<font size=+1>Environment</font><r>"; for param in os.environ.keys():print "<b>%20s</b>: %s<r>" % (param, os.environ[param])

GET和POST方法

瀏覽器客戶端通過兩種方法向服務器傳遞信息,這兩種方法就是 GET 方法和 POST 方法。

使用GET方法傳輸數據

GET方法發送編碼后的用戶信息到服務端,數據信息包含在請求頁面的URL上,以"?"號分割, 如下所示:

http://www.test.com/cgi-bin/hello.py?key1=value1&key2=value2

有關 GET 請求的其他一些注釋:

  • GET 請求可被緩存
  • GET 請求保留在瀏覽器歷史記錄中
  • GET 請求可被收藏為書簽
  • GET 請求不應在處理敏感數據時使用
  • GET 請求有長度限制
  • GET 請求只應當用于取回數據

簡單的url實例:GET方法

以下是一個簡單的URL,使用GET方法向hello_get.py程序發送兩個參數:

/cgi-bin/hello_get.py?first_name=ZARA&last_name=ALI

以下為hello_get.py文件的代碼:

#!/usr/bin/python # -*- coding: UTF-8 -*-# CGI處理模塊 import cgi, cgitb # 創建 FieldStorage 的實例化 form = cgi.FieldStorage() # 獲取數據 first_name = form.getvalue('first_name') last_name = form.getvalue('last_name')print "Content-type:text/html" print "<html>" print "<head>" print "<title>Hello - Second CGI Program</title>" print "</head>" print "<body>" print "<h2>Hello %s %s</h2>" % (first_name, last_name) print "</body>" print "</html>"

瀏覽器請求輸出結果:

Hello ZARA ALI

簡單的表單實例:GET方法

以下是一個通過HTML的表單使用GET方法向服務器發送兩個數據,提交的服務器腳本同樣是hello_get.py文件,代碼如下:

<form action="/cgi-bin/hello_get.py" method="get"> First Name: <input type="text" name="first_name"> <br />Last Name: <input type="text" name="last_name" /> <input type="submit" value="Submit" /> </form>

使用POST方法傳遞數據

使用POST方法向服務器傳遞數據是更安全可靠的,像一些敏感信息如用戶密碼等需要使用POST傳輸數據。

以下同樣是hello_get.py ,它也可以處理瀏覽器提交的POST表單數據:

#!/usr/bin/python # -*- coding: UTF-8 -*-# 引入 CGI 模塊 import cgi, cgitb # 創建 FieldStorage 實例 form = cgi.FieldStorage() # 獲取表單數據 first_name = form.getvalue('first_name') last_name = form.getvalue('last_name')print "Content-type:text/html" print "<html>" print "<head>" print "<title>Hello - Second CGI Program</title>" print "</head>" print "<body>" print "<h2>Hello %s %s</h2>" % (first_name, last_name) print "</body>" print "</html>"

以下為表單通過POST方法向服務器腳本hello_get.py提交數據:

<form action="/cgi-bin/hello_get.py" method="post"> First Name: <input type="text" name="first_name"><br /> Last Name: <input type="text" name="last_name" /><input type="submit" value="Submit" /> </form>

通過CGI程序傳遞checkbox數據

checkbox用于提交一個或者多個選項數據,HTML代碼如下:

<form action="/cgi-bin/checkbox.cgi" method="POST" target="_blank"> <input type="checkbox" name="maths" value="on" /> Maths <input type="checkbox" name="physics" value="on" /> Physics <input type="submit" value="Select Subject" /> </form>

以下為 checkbox.cgi 文件的代碼:

#!/usr/bin/python # -*- coding: UTF-8 -*-# 引入 CGI 處理模塊 import cgi, cgitb # 創建 FieldStorage的實例 form = cgi.FieldStorage() # 接收字段數據 if form.getvalue('maths'):math_flag = "ON" else:math_flag = "OFF"if form.getvalue('physics'):physics_flag = "ON" else:physics_flag = "OFF"print "Content-type:text/html" print "<html>" print "<head>" print "<title>Checkbox - Third CGI Program</title>" print "</head>" print "<body>" print "<h2> CheckBox Maths is : %s</h2>" % math_flag print "<h2> CheckBox Physics is : %s</h2>" % physics_flag print "</body>" print "</html>"

通過CGI程序傳遞Radio數據

Radio只向服務器傳遞一個數據,HTML代碼如下:

<form action="/cgi-bin/radiobutton.py" method="post" target="_blank"> <input type="radio" name="subject" value="maths" /> Maths <input type="radio" name="subject" value="physics" /> Physics <input type="submit" value="Select Subject" /> </form>

radiobutton.py 腳本代碼如下:

#!/usr/bin/python # -*- coding: UTF-8 -*-# Import modules for CGI handling import cgi, cgitb # Create instance of FieldStorage form = cgi.FieldStorage() # Get data from fields if form.getvalue('subject'):subject = form.getvalue('subject') else:subject = "Not set"print "Content-type:text/html" print "<html>" print "<head>" print "<title>Radio - Fourth CGI Program</title>" print "</head>" print "<body>" print "<h2> Selected Subject is %s</h2>" % subject print "</body>" print "</html>"

通過CGI程序傳遞 Textarea 數據

Textarea向服務器傳遞多行數據,HTML代碼如下:

<form action="/cgi-bin/textarea.py" method="post" target="_blank"> <textarea name="textcontent" cols="40" rows="4"> Type your text here... </textarea> <input type="submit" value="Submit" /> </form>

textarea.cgi腳本代碼如下:

#!/usr/bin/python # -*- coding: UTF-8 -*-# Import modules for CGI handling import cgi, cgitb # Create instance of FieldStorage form = cgi.FieldStorage() # Get data from fields if form.getvalue('textcontent'):text_content = form.getvalue('textcontent') else:text_content = "Not entered"print "Content-type:text/html" print "<html>" print "<head>"; print "<title>Text Area - Fifth CGI Program</title>" print "</head>" print "<body>" print "<h2> Entered Text Content is %s</h2>" % text_content print "</body>"

通過CGI程序傳遞下拉數據

HTML下拉框代碼如下:

<form action="/cgi-bin/dropdown.py" method="post" target="_blank"> <select name="dropdown"> <option value="Maths" selected>Maths</option> <option value="Physics">Physics</option> </select> <input type="submit" value="Submit"/> </form>

dropdown.py 腳本代碼如下所示:

#!/usr/bin/python # -*- coding: UTF-8 -*-# Import modules for CGI handling import cgi, cgitb # Create instance of FieldStorage form = cgi.FieldStorage() # Get data from fields if form.getvalue('dropdown'):subject = form.getvalue('dropdown') else:subject = "Not entered"print "Content-type:text/html" print "<html>" print "<head>" print "<title>Dropdown Box - Sixth CGI Program</title>" print "</head>" print "<body>" print "<h2> Selected Subject is %s</h2>" % subject print "</body>" print "</html>"

CGI中使用Cookie

在http協議一個很大的缺點就是不作用戶身份的判斷,這樣給編程人員帶來很大的不便,

而cookie功能的出現彌補了這個缺憾。

所有cookie就是在客戶訪問腳本的同時,通過客戶的瀏覽器,在客戶硬盤上寫入紀錄數據 ,當下次客戶訪問腳本時取回數據信息,從而達到身份判別的功能,cookie常用在密碼判斷中 。

cookie的語法

http cookie的發送是通過http頭部來實現的,他早于文件的傳遞,頭部set-cookie的語法如下:

Set-cookie:name=name;expires=date;path=path;domain=domain;secure
  • name=name: 需要設置cookie的值(name不能使用";"和","號),有多個name值時用";"分隔例如:name1=name1;name2=name2;name3=name3。
  • expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
  • path=path: 設置cookie支持的路徑,如果path是一個路徑,則cookie對這個目錄下的所有文件及子目錄生效,例如: path="/cgi-bin/",如果path是一個文件,則cookie指對這個文件生效,例如:path="/cgi-bin /cookie.cgi"。
  • domain=domain: 對cookie生效的域名,例如:domain="http://www.chinalb.com"
  • secure: 如果給出此標志,表示cookie只能通過SSL協議的https服務器來傳遞。
  • cookie的接收是通過設置環境變量HTTP_COOKIE來實現的,CGI程序可以通過檢索該變量獲取cookie信息。

Cookie設置

Cookie的設置非常簡單,cookie會在http頭部單獨發送。以下實例在cookie中設置了UserID 和 Password:

<pre> #!/usr/bin/python # -*- coding: UTF-8 -*-print "Set-Cookie:UserID=XYZ; " print "Set-Cookie:Password=XYZ123; " print "Set-Cookie:Expires=Tuesday, 31-Dec-2007 23:12:40 GMT"; " print "Set-Cookie:Domain=www.w3cschool.cc; " print "Set-Cookie:Path=/perl; " print "Content-type:text/html" ...........Rest of the HTML Content....

以上實例使用了 Set-Cookie 頭信息來設置Cookie信息,可選項中設置了Cookie的其他屬性,如過期時間Expires,域名Domain,路徑Path。這些信息設置在 "Content-type:text/html "之前。


檢索Cookie信息

Cookie信息檢索頁非常簡單,Cookie信息存儲在CGI的環境變量HTTP_COOKIE中,存儲格式如下:

key1=value1;key2=value2;key3=value3....

以下是一個簡單的CGI檢索cookie信息的程序:

#!/usr/bin/python # -*- coding: UTF-8 -*-# Import modules for CGI handling from os import environ import cgi, cgitbif environ.has_key('HTTP_COOKIE'):for cookie in map(strip, split(environ['HTTP_COOKIE'], ';')):(key, value ) = split(cookie, '=');if key == "UserID":user_id = valueif key == "Password":password = valueprint "User ID = %s" % user_id print "Password = %s" % password

以上腳本輸出結果如下:

User ID = XYZ Password = XYZ123

文件上傳實例:

HTML設置上傳文件的表單需要設置enctype 屬性為multipart/form-data,代碼如下所示:

<html> <body><form enctype="multipart/form-data" action="save_file.py" method="post"><p>File: <input type="file" name="filename" /></p><p><input type="submit" value="Upload" /></p></form> </body> </html>

save_file.py腳本文件代碼如下:

#!/usr/bin/python # -*- coding: UTF-8 -*-import cgi, os import cgitb; cgitb.enable()form = cgi.FieldStorage()# 獲取文件名 fileitem = form['filename']# 檢測文件是否上傳 if fileitem.filename:# 設置文件路徑 fn = os.path.basename(fileitem.filename)open('/tmp/' + fn, 'wb').write(fileitem.file.read())message = 'The file "' + fn + '" was uploaded successfully'else:message = 'No file was uploaded'print """ Content-Type: text/html<html> <body><p>%s</p> </body> </html> """ % (message,)

如果你使用的系統是Unix/Linux,你必須替換文件分隔符,在window下只需要使用open()語句即可:

fn = os.path.basename(fileitem.filename.replace("", "/" ))

文件下載對話框

我們先在當前目錄下創建 foo.txt 文件,用于程序的下載。

文件下載通過設置HTTP頭信息來實現,功能代碼如下:

#!/usr/bin/python # -*- coding: UTF-8 -*-# HTTP 頭部 print "Content-Disposition: attachment; filename="foo.txt"";# 打開文件 fo = open("foo.txt", "rb")str = fo.read(); print str# 關閉文件 fo.close()

python操作mysql數據庫

Python 標準數據庫接口為 Python DB-API,Python DB-API為開發人員提供了數據庫應用編程接口。

Python 數據庫接口支持非常多的數據庫,你可以選擇適合你項目的數據庫:

  • GadFly
  • mSQL
  • MySQL
  • PostgreSQL
  • Microsoft SQL Server 2000
  • Informix
  • Interbase
  • Oracle
  • Sybase

你可以訪問Python數據庫接口及API查看詳細的支持數據庫列表。

不同的數據庫你需要下載不同的DB API模塊,例如你需要訪問Oracle數據庫和Mysql數據,你需要下載Oracle和MySQL數據庫模塊。

DB-API 是一個規范. 它定義了一系列必須的對象和數據庫存取方式, 以便為各種各樣的底層數據庫系統和多種多樣的數據庫接口程序提供一致的訪問接口 。

Python的DB-API,為大多數的數據庫實現了接口,使用它連接各數據庫后,就可以用相同的方式操作各數據庫。

Python DB-API使用流程:

  • 引入 API 模塊。
  • 獲取與數據庫的連接。
  • 執行SQL語句和存儲過程。
  • 關閉數據庫連接。

什么是MySQLdb?

MySQLdb 是用于Python鏈接Mysql數據庫的接口,它實現了 Python 數據庫 API 規范 V2.0,基于MySQL C API 上建立的。


如何安裝MySQLdb?

為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。復制以下代碼,并執行:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb

如果執行后的輸出結果如下所示,意味著你沒有安裝 MySQLdb 模塊:

Traceback (most recent call last):File "test.py", line 3, in <module>import MySQLdb ImportError: No module named MySQLdb

安裝MySQLdb,請訪問 http://sourceforge.net/projects/mysql-python,(Linux平臺可以訪問:https://pypi.python.org/pypi/MySQL-python)從這里可選擇適合您的平臺的安裝包,分為預編譯的二進制文件和源代碼安裝包。

如果您選擇二進制文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,并鍵入下列命令:

$ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $ python setup.py build $ python setup.py install

注意:請確保您有root權限來安裝上述模塊。


數據庫連接

連接數據庫前,請先確認以下事項:

  • 您已經創建了數據庫 TESTDB.
  • 在TESTDB數據庫中您已經創建了表 EMPLOYEE
  • EMPLOYEE表字段為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 連接數據庫TESTDB使用的用戶名為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql數據庫用戶授權請使用Grant命令。
  • 在你的機子上已經安裝了 Python MySQLdb 模塊。
  • 如果您對sql語句不熟悉,可以訪問我們的 SQL基礎教程

實例:

以下實例鏈接Mysql的TESTDB數據庫:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# 使用execute方法執行SQL語句 cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法獲取一條數據庫。 data = cursor.fetchone()print "Database version : %s " % data# 關閉數據庫連接 db.close()

執行以上腳本輸出結果如下:

Database version : 5.0.45

創建數據庫表

如果數據庫連接存在我們可以使用execute()方法來為數據庫創建表,如下所示創建表EMPLOYEE:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# 如果數據表已經存在使用 execute() 方法刪除表。 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 創建數據表SQL語句 sql = """CREATE TABLE EMPLOYEE (FIRST_NAME CHAR(20) NOT NULL,LAST_NAME CHAR(20),AGE INT, SEX CHAR(1),INCOME FLOAT )"""cursor.execute(sql)# 關閉數據庫連接 db.close()

數據庫插入操作

以下實例使用執行 SQL INSERT 語句向表 EMPLOYEE 插入記錄:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# SQL 插入語句 sql = """INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try:# 執行sql語句cursor.execute(sql)# 提交到數據庫執行db.commit() except:# Rollback in case there is any errordb.rollback()# 關閉數據庫連接 db.close()

以上例子也可以寫成如下形式:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# SQL 插入語句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('%s', '%s', '%d', '%c', '%d' )" % ('Mac', 'Mohan', 20, 'M', 2000) try:# 執行sql語句cursor.execute(sql)# 提交到數據庫執行db.commit() except:# 發生錯誤時回滾db.rollback()# 關閉數據庫連接 db.close()

實例:

以下代碼使用變量向SQL語句中傳遞參數:

.................................. user_id = "test123" password = "password"con.execute('insert into Login values("%s", "%s")' % (user_id, password)) ..................................

數據庫查詢操作

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

  • fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
  • fetchall():接收全部的返回結果行.
  • rowcount: 這是一個只讀屬性,并返回執行execute()方法后影響的行數。

實例:

查詢EMPLOYEE表中salary(工資)字段大于1000的所有數據:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# SQL 查詢語句 sql = "SELECT * FROM EMPLOYEE WHERE INCOME > '%d'" % (1000) try:# 執行SQL語句cursor.execute(sql)# 獲取所有記錄列表results = cursor.fetchall()for row in results:fname = row[0]lname = row[1]age = row[2]sex = row[3]income = row[4]# 打印結果print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income ) except:print "Error: unable to fecth data"# 關閉數據庫連接 db.close()

以上腳本執行結果如下:

fname=Mac, lname=Mohan, age=20, sex=M, income=2000

數據庫更新操作

更新操作用于更新數據表的的數據,以下實例將 TESTDB表中的 SEX字段全部修改為 'M',AGE 字段遞增1:

#!/usr/bin/python # -*- coding: UTF-8 -*-import MySQLdb# 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法獲取操作游標 cursor = db.cursor()# SQL 更新語句 sql = "UPDATE EMPLOYEE SET AGE = AGE + 1WHERE SEX = '%c'" % ('M') try:# 執行SQL語句cursor.execute(sql)# 提交到數據庫執行db.commit() except:# 發生錯誤時回滾db.rollback()# 關閉數據庫連接 db.close()

執行事務

事務機制可以確保數據一致性。

事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。

  • 原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。
  • 一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
  • 隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對并發的其他事務是隔離的,并發執行的各個事務之間不能互相干擾。
  • 持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

Python DB API 2.0 的事務提供了兩個方法 commit或 rollback。

實例:

# SQL刪除記錄語句 sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20) try:# 執行SQL語句cursor.execute(sql)# 向數據庫提交db.commit() except:# 發生錯誤時回滾db.rollback()

對于支持事務的數據庫, 在Python數據庫編程中,當游標建立之時,就自動開始了一個隱形的數據庫事務。

commit()方法游標的所有更新操作,rollback()方法回滾當前游標的所有操作。每一個方法都開始了一個新的事務。


錯誤處理

DB API中定義了一些數據庫操作的錯誤及異常,下表列出了這些錯誤和異常:

異常

描述

Warning

當有嚴重警告時觸發,例如插入數據是被截斷等等。必須是 StandardError 的子類。

Error

警告以外所有其他錯誤類。必須是 StandardError 的子類。

InterfaceError

當有數據庫接口模塊本身的錯誤(而不是數據庫的錯誤)發生時觸發。 必須是Error的子類。

DatabaseError

和數據庫有關的錯誤發生時觸發。 必須是Error的子類。

DataError

當有數據處理時的錯誤發生時觸發,例如:除零錯誤,數據超范圍等等。 必須是DatabaseError的子類。

OperationalError

指非用戶控制的,而是操作數據庫時發生的錯誤。例如:連接意外斷開、 數據庫名未找到、事務處理失敗、內存分配錯誤等等操作數據庫是發生的錯誤。 必須是DatabaseError的子類。

IntegrityError

完整性相關的錯誤,例如外鍵檢查失敗等。必須是DatabaseError子類。

InternalError

數據庫的內部錯誤,例如游標(cursor)失效了、事務同步失敗等等。 必須是DatabaseError子類。

ProgrammingError

程序錯誤,例如數據表(table)沒找到或已存在、SQL語句語法錯誤、 參數數量錯誤等等。必須是DatabaseError的子類。

NotSupportedError

不支持錯誤,指使用了數據庫不支持的函數或API等。例如在連接對象上 使用.rollback()函數,然而數據庫并不支持事務或者事務已關閉。 必須是DatabaseError的子類。

更多編程入門教程資源盡在夢幫客教程網電腦端,分享給想學習編程開發的同學。

總結

以上是生活随笔為你收集整理的android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

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

不卡av电影在线 | 欧美日韩a视频 | 97超级碰碰碰碰久久久久 | 一级片免费观看视频 | 亚洲专区免费观看 | av网址在线播放 | 伊人婷婷| 国产欧美精品一区二区三区四区 | 国产片免费在线观看视频 | 999久久久久久久久久久 | 国产高清免费视频 | 国产午夜精品免费一区二区三区视频 | 视频一区二区国产 | 91精品一区国产高清在线gif | 欧美少妇影院 | 日韩中文字幕免费电影 | 亚洲免费在线观看视频 | 午夜电影av| 国产日韩精品一区二区在线观看播放 | 久久天堂亚洲 | 99国产视频在线 | 色狠狠综合天天综合综合 | 日韩欧美电影在线观看 | 国产中文字幕视频 | 贫乳av女优大全 | 久草资源在线观看 | 久久久久久久久国产 | 8x8x在线观看视频 | 亚洲va欧美va | 免费色黄 | 久久久这里有精品 | 亚洲国产小视频在线观看 | 日本性xxx | 久久久久一区二区三区 | 国产精品白浆 | 操操操日日 | 九九视频热 | 久久香蕉电影 | 亚洲精选视频免费看 | 亚州精品天堂中文字幕 | 欧美99精品| 亚洲欧洲精品在线 | 欧美一级黄大片 | 成人a大片 | 五月在线视频 | 国产精品久久一 | 久草新在线 | 久草在线观看 | 亚在线播放中文视频 | 亚洲精品国产精品乱码不99热 | 一区二区三区高清 | 国产精品ⅴa有声小说 | 五月天.com | 97偷拍在线视频 | av 一区 二区 久久 | 免费成人在线观看 | av性在线| 欧美日韩首页 | 国产理论片在线观看 | 美女久久网站 | 丁香九月激情综合 | 国产精品美女久久久久久网站 | 国产精品去看片 | 91精品在线麻豆 | 嫩嫩影院理论片 | 亚洲综合激情网 | 国产精品第72页 | 国产成人一区在线 | 久久黄色片子 | 免费黄色网止 | 中文字幕黄网 | 午夜精品一区二区三区免费 | 久久爱导航| 国产网红在线观看 | 国产欧美日韩精品一区二区免费 | 国产日韩欧美精品在线观看 | 96视频免费在线观看 | 日韩区欠美精品av视频 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲成人精品国产 | 色九九视频 | 91精品免费在线观看 | 久久精品综合 | 免费看片网页 | 亚洲专区中文字幕 | 99久久爱 | 91九色在线 | 中文字幕资源在线 | av网在线观看 | 日韩免费av网址 | 亚洲综合在线一区二区三区 | 亚洲国产美女久久久久 | 亚洲夜夜综合 | 久久色亚洲 | 天天干天天操天天拍 | 日韩久久久久久久久久久久 | av观看网站 | 久久草草热国产精品直播 | 国产精品video爽爽爽爽 | 97国产情侣爱久久免费观看 | 天天天在线综合网 | 中文字幕久久网 | www.久久久久| 天天弄天天干 | 亚洲最新视频在线播放 | 国产精品久久久久久久免费 | 丁香狠狠 | 欧美日韩一区二区三区在线免费观看 | 免费人成网 | 蜜臀91丨九色丨蝌蚪老版 | 园产精品久久久久久久7电影 | 免费一级片观看 | 亚洲在线视频免费 | 三级动图 | 在线久久 | 国内精品久久久精品电影院 | 91手机电视| 欧美日韩精品久久久 | 97超碰人人 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲欧美乱综合图片区小说区 | 91精品国自产在线观看欧美 | 亚洲黄色免费观看 | 久久免费在线 | 色偷偷88888欧美精品久久久 | 国产伦精品一区二区三区无广告 | 波多野结衣在线播放视频 | 天天干天天天天 | 毛片的网址 | 国产精品久久久久久婷婷天堂 | 日本婷婷色 | 午夜性色 | 欧美一级艳片视频免费观看 | 日韩免费一级a毛片在线播放一级 | av在线播放亚洲 | 天天操天天操天天操天天操天天操 | 日韩在线观看影院 | 欧美成人一区二区 | 外国av网 | 国产伦精品一区二区三区在线 | 午夜精品影院 | 久久老司机精品视频 | 国产色婷婷精品综合在线手机播放 | 成人黄在线 | www.天天干.com| 91精品视频在线免费观看 | 久草在线免费资源站 | 国产精品18久久久久久不卡孕妇 | 日韩av一区二区三区四区 | 国产v亚洲v | 色视频在线免费观看 | 午夜狠狠干| 97福利 | 狠狠久久综合 | 麻豆视频国产精品 | 青草视频在线播放 | 欧美日韩免费一区 | 中文国产成人精品久久一 | 久久综合九色综合网站 | 亚洲国产中文字幕在线观看 | 91精品国产麻豆国产自产影视 | 黄色h在线观看 | 国产精品久久久久久久久软件 | 国内精品久久久久久 | 欧美一区二区三区在线播放 | 成人免费视频网址 | 男女拍拍免费视频 | 久久久久久久久久久精 | 久久久黄色av | 国产91国语对白在线 | 亚洲成熟女人毛片在线 | 2019中文字幕网站 | 一区二区三区电影 | 成人全视频免费观看在线看 | 99久久精 | 国产精品大尺度 | 九色精品免费永久在线 | 成人免费网视频 | 日日爽夜夜操 | 久草在 | 日本久久视频 | 日本中文字幕久久 | 97精品国自产拍在线观看 | 狠狠躁18三区二区一区ai明星 | 丁香五香天综合情 | 精品美女国产在线 | 日韩av在线免费看 | 91精品在线免费 | 亚洲资源在线观看 | 久久在线免费视频 | 免费日韩av电影 | 亚洲精品视频二区 | 婷婷丁香自拍 | 国产精品永久免费在线 | 天海冀一区二区三区 | 狠狠的日日 | 国产 日韩 在线 亚洲 字幕 中文 | 深夜精品福利 | 国产成人精品av在线 | 爱爱一区 | 91免费看黄色 | 日韩在线免费小视频 | 亚洲精品玖玖玖av在线看 | 一区二区三区免费在线 | 91麻豆福利| 久久国内精品99久久6app | 久久免费一级片 | 亚洲国产精品va在线看黑人动漫 | 欧美五月婷婷 | 日韩国产精品毛片 | 中文字幕xxxx| 日韩在线看片 | 免费在线中文字幕 | 午夜精品一区二区三区可下载 | 正在播放 国产精品 | 91久久国产自产拍夜夜嗨 | 四虎成人精品永久免费av | 中文在线字幕观看电影 | 国产精品久久久久久电影 | 97超级碰碰碰视频在线观看 | 国产在线观看不卡 | 日韩网站在线看片你懂的 | 久久国产精品视频 | 日韩精品视频一二三 | 国产 在线观看 | 久久成视频 | 在线观看黄色免费视频 | 亚洲成人黄色 | 亚洲va欧美va | 欧美日韩在线观看视频 | 亚洲最新精品 | 亚洲人成在线电影 | 综合五月| 国产精品成人品 | 国产涩图 | 国产成人免费观看 | 久久国产99 | 四虎5151久久欧美毛片 | 亚洲精品视| 日韩高清二区 | 色婷婷激婷婷情综天天 | 国内丰满少妇猛烈精品播 | 99在线精品视频在线观看 | 国产美女精品久久久 | 亚洲综合少妇 | 久久久久久国产精品999 | 日韩精品一区电影 | 一区二区三区四区五区六区 | 国内视频在线 | 亚洲电影av在线 | 亚洲电影院 | 国产精品亚洲a | 国产91av视频在线观看 | 久久精品一区二区三 | 日韩一级网站 | 毛片网站在线观看 | 九九在线高清精品视频 | 国产高清在线 | 日韩中文字幕视频在线 | 日韩在线视频一区 | 国产成人黄色网址 | 国产精品嫩草在线 | 日产中文字幕 | 色婷婷av在线 | 精品视频9999 | 二区三区中文字幕 | 在线观看视频一区二区三区 | 成年人在线观看视频免费 | 国产不卡在线观看视频 | 91在线观看视频 | 国产91全国探花系列在线播放 | 精品免费久久久久 | 成人av网站在线观看 | 天天摸天天舔 | 97网| 国产高清视频免费 | 欧美日韩一区二区视频在线观看 | 六月婷色 | 在线视频日韩欧美 | 国产青青青 | 超碰97.com| 亚洲激情在线视频 | 91看片一区二区三区 | 九九九视频精品 | 91av色 | 欧美精品久久久久a | 一区二区三区精品久久久 | h动漫中文字幕 | 毛片黄色一级 | 久久久久久久久久久国产精品 | 黄色av网站在线免费观看 | 少妇bbw揉bbb欧美 | 久久久久久久久亚洲精品 | 99久久精品费精品 | 国产美女免费观看 | 91精品国产一区二区在线观看 | 天天操天天摸天天爽 | 亚洲视频 在线观看 | 中文字幕在线中文 | 伊人天天干 | 国产大片黄色 | 国产精品久久久久久久久久ktv | 国产精品原创视频 | 网站在线观看你们懂的 | 特级西西444www大胆高清无视频 | 能在线观看的日韩av | 日日夜夜草 | www.狠狠干 | 香蕉视频国产在线观看 | 这里有精品在线视频 | 黄色片免费电影 | 久久久久久久久久久久久国产精品 | 97免费在线观看视频 | 99久久精品无码一区二区毛片 | 右手影院亚洲欧美 | 九九九九精品 | 5月丁香婷婷综合 | av色综合网 | 久久久久久久久久久免费av | 成人av在线网| 99精品国产一区二区 | 99r在线观看 | 成人国产精品av | 国产99久久久久 | 亚洲国产精品500在线观看 | 国产精品无av码在线观看 | 午夜久久美女 | 亚洲蜜桃av | 中文字幕av免费在线观看 | 亚洲精品免费播放 | 顶级欧美色妇4khd | 久二影院 | 97理论电影 | 91丨九色丨国产在线观看 | 国产一级精品视频 | 亚洲成av人片在线观看无 | 三级av片 | 欧美精品v国产精品v日韩精品 | 激情五月亚洲 | 视频在线日韩 | 成人免费视频播放 | 日韩一区精品 | 婷婷国产在线 | 久久久久久亚洲精品 | 亚洲国产精品va在线看黑人 | 成人在线视频在线观看 | 操操色 | 亚州日韩中文字幕 | 欧美激情精品久久久久久 | 五月婷网站 | 久久成人国产精品 | 色婷婷中文 | 中文字幕日韩无 | 天堂网一区二区三区 | 久久久男人的天堂 | 午夜黄色影院 | 午夜精品久久久久久久久久久久 | 最新av网址大全 | 五月婷婷久草 | 欧美精品午夜 | 日韩.com| 国产精品男女啪啪 | 久久久久影视 | 精品在线观看视频 | 超碰个人在线 | 麻豆超碰| 免费视频成人 | 国产99久久久精品 | 操操日| 狠狠躁夜夜躁人人爽超碰97香蕉 | 在线观看视频你懂得 | 国产v视频 | 国产区第一页 | 88av视频 | 日韩精品中文字幕在线不卡尤物 | 丁香av | 亚洲久草在线视频 | av不卡中文| 丝袜足交在线 | 九九99视频 | 在线观看视频国产 | 色噜噜日韩精品欧美一区二区 | 欧美国产亚洲精品久久久8v | 国产精品99爱 | 亚洲精品国产综合99久久夜夜嗨 | 日韩精品一二三 | 久久99亚洲精品久久 | 婷婷激情欧美 | 久久久亚洲国产精品麻豆综合天堂 | 久久久国产精品麻豆 | 日韩一区二区免费播放 | av夜夜操| 国产一及片 | 色姑娘综合天天 | 国产高清不卡av | 天天舔天天搞 | 国产日韩精品一区二区 | 精品99免费视频 | 国产成人久久 | 中文字幕成人在线观看 | 欧美成人精品欧美一级乱 | 成av在线 | 黄色国产大片 | 亚洲午夜不卡 | 成年人毛片在线观看 | 99精品免费在线观看 | 成人在线网站观看 | 香蕉影院在线播放 | 一区二区三区高清在线观看 | 色老板在线视频 | 国产成人在线看 | 午夜视频在线观看一区二区三区 | 久久精品一区八戒影视 | 久青草影院 | 99在线观看免费视频精品观看 | 国产录像在线观看 | 四虎国产永久在线精品 | 久射网| 日韩欧美在线影院 | 久久久精品成人 | 国产精品18毛片一区二区 | 国产一级片一区二区三区 | 免费精品久久久 | 欧美日韩不卡在线视频 | 你操综合 | 天天舔天天射天天操 | 中文字幕文字幕一区二区 | 在线免费观看欧美日韩 | www.国产在线 | 91大神免费视频 | 国产精品美女久久久久久久久 | 久久午夜精品影院一区 | 天天操天天爱天天爽 | 人人插人人玩 | 色天天综合久久久久综合片 | 黄色最新网址 | 久久久久久综合网天天 | 国产黄色电影 | 激情综合狠狠 | 探花视频在线版播放免费观看 | 亚洲精品午夜国产va久久成人 | 免费亚洲一区二区 | 成人精品视频久久久久 | 欧美激情精品久久久久久变态 | 成人av网站在线播放 | 亚洲第一中文网 | 久久人91精品久久久久久不卡 | 亚洲高清国产视频 | 成人91在线 | 亚洲综合色站 | 国内外成人在线视频 | 嫩模bbw搡bbbb搡bbbb | 国产在线a视频 | 国产一区二区视频在线 | 操久在线 | 91日韩在线播放 | 久久精品影片 | 91亚色在线观看 | 亚洲成人动漫在线观看 | 免费成人在线观看视频 | 亚洲精品理论片 | av片子在线观看 | 国产精品久久久久久久久久了 | 欧美日韩精品国产 | 日韩电影在线观看中文字幕 | 91高清完整版在线观看 | 色婷婷亚洲综合 | 99热九九这里只有精品10 | 韩国一区二区在线观看 | 久久99国产一区二区三区 | 国产精品亚洲人在线观看 | 欧美天堂久久 | 国产精品毛片久久久久久久 | 亚洲伊人第一页 | 久久久久免费精品视频 | av久久在线 | 一区二区观看 | 国产最新视频在线观看 | 欧美日韩国产精品一区二区亚洲 | 日韩成人免费电影 | 字幕网资源站中文字幕 | 久久精品视频免费播放 | 婷婷色五 | 四虎海外影库www4hu | 91视频三区 | 日韩在线观看中文 | 亚洲美女在线一区 | 麻豆视传媒官网免费观看 | 正在播放 国产精品 | 狠狠色丁香久久婷婷综合五月 | 国产剧情一区 | 97超碰人 | 成片视频在线观看 | 久草电影在线观看 | 日韩黄色免费在线观看 | 国产视频一区二区在线播放 | 久久综合五月婷婷 | 黄色免费网战 | 中文字幕亚洲高清 | 亚洲精品观看 | 国产女v资源在线观看 | 天天操天天干天天操天天干 | 国产精品久久久久久久av大片 | 日本久久久亚洲精品 | 日日日爽爽爽 | 特级西西444www高清大视频 | 毛片视频网址 | 日韩高清在线一区二区三区 | 少妇bbbb搡bbbb桶 | 国产精品第三页 | 三级av小说| 99精品偷拍视频一区二区三区 | 日韩高清www| 国产视频在线观看免费 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 久久色视频 | www.夜夜爽 | 久久久久久久久久电影 | av一级免费| 成人在线观看资源 | www.精选视频.com | 黄色录像av | 天堂在线v| 亚洲精品a区 | 超碰在线日本 | 波多野结衣资源 | 91视频在线自拍 | 波多野结衣久久资源 | 国产精品一区二区三区久久 | 亚洲黄色片一级 | 中文字幕字幕中文 | 国产精品一区专区欧美日韩 | 欧美日韩视频在线观看免费 | 亚洲一区二区三区毛片 | 国产一级视频在线观看 | 在线视频婷婷 | 久久国产精品一区二区三区四区 | 在线 精品 国产 | 精品国产乱码久久久久 | 人人爱人人射 | 丁香视频 | 免费久久久久久 | 亚洲 精品在线视频 | 久久免费国产 | 欧美最猛性xxxx | 人人视频网站 | 久久精品美女视频网站 | 精品国产一区二区在线 | 在线视频 你懂得 | 久久精品福利 | 亚洲午夜精品久久久久久久久久久久 | 欧美日韩国产成人 | 日日干网| 国产69精品久久99的直播节目 | 免费在线观看av网址 | 国产色拍拍拍拍在线精品 | 国产尤物一区二区三区 | 国产欧美综合视频 | 国产一线二线三线性视频 | 在线a视频免费观看 | 午夜成人免费电影 | av在线免费观看黄 | 精品欧美乱码久久久久久 | 在线观看视频91 | 日本中文字幕久久 | 美女一区网站 | 国产一级做a爱片久久毛片a | 国产精品国产亚洲精品看不卡15 | 国内少妇自拍视频一区 | 中文字幕资源网 国产 | 99久久这里有精品 | 国产精品久久片 | 亚洲成人xxx | 婷婷久久综合网 | 天天干天天插 | 日韩精品一区二区在线观看视频 | av电影 一区二区 | 午夜视频日本 | 久热只有精品 | 国产精品毛片一区 | 日韩在线观看精品 | 久久黄色免费视频 | 日韩综合一区二区三区 | 天天操人人要 | 日韩在线资源 | 国产综合视频在线观看 | 久久国内视频 | 精品你懂的 | 99热最新 | 高清av网 | 五月婷婷中文字幕 | 免费高清在线观看电视网站 | 一级黄色电影网站 | 视频在线观看入口黄最新永久免费国产 | 在线天堂中文www视软件 | 色综合 久久精品 | 黄色一级大片免费看 | 久久中文字幕在线视频 | 高清久久久久久 | 久久久久久久久久久久久久av | 国产视频在线免费 | 午夜影视一区 | 三级在线视频观看 | 亚洲另类交 | 亚洲色图激情文学 | 91桃色免费视频 | 看片网站黄色 | 狠狠狠的干 | 麻豆视频免费在线播放 | 日本最新中文字幕 | 国产日韩精品久久 | 91精品看片 | 波多野结衣亚洲一区二区 | 国内精品视频在线 | 成人91免费视频 | 视频一区二区三区视频 | 国产在线国产 | 日韩在线激情 | 色永久免费视频 | 日韩精品视频免费在线观看 | 成年人免费av | 久久久亚洲精华液 | 97狠狠操| 久久欧洲视频 | 日日操日日插 | 福利视频区 | 中文字幕在线观看完整版 | 在线电影日韩 | 久久国产精品视频免费看 | 一区二区久久 | 欧美日韩一区二区三区在线免费观看 | 国产xxxx | 久久国产a | 国产精品一区二区三区四区在线观看 | 国产精品不卡在线观看 | 国内精品久久久精品电影院 | 天天做日日做天天爽视频免费 | 中文字幕在线观看第三页 | 黄a在线观看 | 深夜福利视频一区二区 | 日韩中文字幕国产精品 | 在线国产视频观看 | 免费观看www7722午夜电影 | av网址在线播放 | 国产亚洲精品久久久久久网站 | 久久99九九99精品 | 亚洲综合成人专区片 | 国产成人精品免费在线观看 | 亚洲免费av观看 | 香蕉影视app | 成年人在线看片 | 亚洲情感电影大片 | 在线欧美日韩 | 日韩欧美在线不卡 | 国产欧美精品在线观看 | 中文字幕av电影下载 | 99精品在线看 | 国产精品久久久av | 亚洲精品三级 | 91精品国产欧美一区二区成人 | 99久久精品国产免费看不卡 | 九九热只有这里有精品 | 国产四虎在线 | 日韩一区二区三区高清免费看看 | 爱爱av在线| 中文字幕国产精品 | 成年人黄色在线观看 | 97网站| 国产精品综合久久久久久 | 免费成人av在线看 | 久久久久国产一区二区三区四区 | 超碰人人草 | www.久久com| 国产日韩欧美在线一区 | 免费a级大片 | 久久久久综合精品福利啪啪 | 国产精品久久久久久欧美 | 欧美调教网站 | 99久e精品热线免费 99国产精品久久久久久久久久 | 婷婷久久婷婷 | 亚洲成人免费在线观看 | 天天操夜夜操夜夜操 | 久久99久久99精品免观看软件 | 国产精品一区二区三区电影 | 黄网站色 | 国产精品久久久久亚洲影视 | 国产亚洲久一区二区 | 国产精品久久久毛片 | 五月天婷婷视频 | 国产精品欧美久久 | 99久久日韩精品视频免费在线观看 | 国产亚洲精品福利 | 欧美电影在线观看 | 丁香高清视频在线看看 | 日本中文字幕系列 | 久久躁日日躁aaaaxxxx | 在线成人一区 | 亚洲午夜久久久久久久久久久 | 亚洲区另类春色综合小说 | 免费看片网址 | 一区二区 不卡 | 在线成人中文字幕 | 人人干狠狠干 | 欧美一进一出抽搐大尺度视频 | 中文字幕在线高清 | 亚洲少妇xxxx | 日韩剧| 日韩大片在线观看 | 久久久免费毛片 | 国内精自线一二区永久 | 能在线观看的日韩av | 国产精品二区三区 | 欧美一区二区三区在线观看 | 2019中文 | 国内精品毛片 | 国产网站色 | 欧美激情在线看 | 欧美午夜a| 午夜婷婷在线观看 | 精品毛片一区二区免费看 | 91在线观看欧美日韩 | 91久久一区二区 | 九九免费精品 | 中文字幕二区三区 | 国产精品免费不 | 日韩视频一区二区在线观看 | 国产丝袜制服在线 | 精品国产一区二区三区男人吃奶 | 日韩av在线免费播放 | 久久精品国产成人精品 | 三级av小说 | 久草在线资源观看 | 成人免费xxxxxx视频 | www.夜色321.com| 久久久久久久久久久影院 | 成人午夜剧场在线观看 | 亚洲精品综合在线 | 日韩动漫免费观看高清完整版在线观看 | 国产一级免费电影 | 91成人小视频 | 日韩av午夜在线观看 | 亚洲专区在线视频 | 久久天| av国产网站 | www视频在线免费观看 | 久久久亚洲影院 | 日韩试看 | 日韩美精品视频 | 伊人久久精品久久亚洲一区 | 亚洲视频精品 | 99久久99热这里只有精品 | 香蕉久久久久久久 | 国产91精品一区二区麻豆网站 | 99精品99 | 国产美女久久 | 亚洲色五月 | 九色在线 | 在线成人免费av | 欧美黄色成人 | 婷婷激情欧美 | 在线www色 | 婷婷久操| 亚洲综合成人婷婷小说 | 人人爽人人看 | 国产午夜精品一区二区三区嫩草 | 爱干视频 | 狠狠干电影 | 成人av在线一区二区 | 日韩区在线观看 | 四虎影视www | 久草在线视频免赞 | 欧美综合干 | 国产黄a三级三级三级三级三级 | 国产精品成人一区二区 | 国产一区二区三区高清播放 | 亚洲高清视频一区二区三区 | 国产一级黄色电影 | 日韩在线视频免费看 | 久久公开免费视频 | 国产手机视频在线播放 | 五月婷婷婷婷婷 | 久久成人精品视频 | www.亚洲精品 | 久久久久成人精品 | 玖玖视频网| 国产精品va在线 | 国产一区在线观看视频 | 国产日韩在线视频 | 亚洲精品网址在线观看 | 91丨九色丨国产在线 | 伊人久久精品久久亚洲一区 | 日韩精品视频免费在线观看 | 免费日韩一区二区三区 | 精品国产一区二区久久 | 久久亚洲热 | 久久手机看片 | 欧美日韩国产高清视频 | 啪啪免费试看 | 国产91精品久久久久久 | 婷婷综合网 | av三区在线| av久久在线 | 色综合天天色 | 日韩午夜电影 | 久久看片网站 | 狠狠躁夜夜a产精品视频 | 国产成人一区二区精品非洲 | 热久久这里只有精品 | 欧美尹人 | 亚洲永久精品视频 | 国产精品激情在线观看 | 亚洲一区视频在线播放 | 久久五月网 | 最近日本mv字幕免费观看 | 国产亚洲精品电影 | 日本女人在线观看 | 亚洲丁香日韩 | 99精彩视频在线观看免费 | 欧美日韩免费在线观看视频 | 在线99视频 | 成人在线视频网 | 免费看国产一级片 | 日韩欧美在线影院 | 97精品国产97久久久久久粉红 | 日韩黄色网络 | 成年人视频在线免费观看 | 国产精品2019 | 日韩免费三区 | 国产综合精品一区二区三区 | 最新国产一区二区三区 | 中文字幕在线一二 | 成年人免费在线播放 | 久草资源在线观看 | 国产免费成人av | 精品国内 | 日本精品午夜 | 看国产黄色片 | 在线观看免费成人av | 黄色av成人在线观看 | 中文字幕在线观看完整版 | 精品国产精品久久 | 一区二区三区 中文字幕 | 国产资源在线免费观看 | 一本一本久久a久久精品综合 | 免费婷婷 | 亚洲国产中文在线 | 国产视频在线免费观看 | 久久99影院| 最新动作电影 | 久久天天综合网 | 91手机电影| 国产黄色片久久 | 国产一级不卡毛片 | 国产精品第一页在线观看 | 操操操天天操 | 欧美一级视频免费 | 婷婷五综合| 91福利视频网站 | 国产精品18久久久久久久网站 | 亚洲国内精品视频 | 国产精品久久电影网 | 日日精品| 午夜在线免费观看 | 久久久受www免费人成 | 91| 日本久久久久久 | 婷婷综合av | 久久不射影院 | 亚洲黄色片 | 精品久久久久一区二区国产 | 国产专区视频在线观看 | 国产色婷婷精品综合在线手机播放 | 黄色国产高清 | 狠狠色丁香久久婷婷综合_中 | 中文字幕国产精品一区二区 | 国产一级免费播放 | 国产精品美女久久久久久免费 | 欧美在线视频日韩 | 夜夜躁狠狠躁日日躁视频黑人 | 天天爱天天射天天干天天 | 在线视频精品播放 | 国产91免费在线 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 国产精品第72页 | 午夜色站 | 中文字幕色播 | 精品久久久免费视频 | 深爱激情久久 | 黄色亚洲大片免费在线观看 | 国产69久久久欧美一级 | 日本中文字幕视频 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 日本最新一区二区三区 | 在线免费黄网站 | 久久久福利视频 | 人人澡人人添人人爽一区二区 | 日本高清xxxx | 久久久毛片 | 婷婷深爱网 | 99久久婷婷| 久草在线在线视频 | 天天狠狠干 | 97超碰超碰久久福利超碰 | 99精品视频网站 | 99热都是精品 | 天天干,狠狠干 | 久久影院中文字幕 | 夜夜嗨av色一区二区不卡 | 亚洲日本成人网 | 香蕉视频在线看 | 久久久亚洲影院 | 亚洲精品中文字幕视频 | 久久伦理电影 | 97人人视频| 夜夜躁日日躁狠狠躁 | 狠狠躁日日躁狂躁夜夜躁 | 91在线蜜桃臀 | 日韩欧美亚州 | 国产对白av| 日韩影视精品 | 日韩欧美在线一区二区 | 日韩视频在线观看视频 | 2022久久国产露脸精品国产 | 国模视频一区二区三区 | 国产精品区在线观看 | 亚洲电影图片小说 | 99视频国产精品 | 欧美人交a欧美精品 | 美女网色| 色综合亚洲精品激情狠狠 | 99成人免费视频 | 久久99国产精品二区护士 | 国产亚洲字幕 | 国产剧情久久 | 亚洲精欧美一区二区精品 | 日韩免费在线视频观看 | 亚洲免费在线观看视频 | 日日婷婷夜日日天干 | 久久综合久久综合九色 | 91视频高清完整版 | 精品国产成人av在线免 | 4438全国亚洲精品在线观看视频 | 色综合久久久久 | 久久日韩精品 | 国产aa免费视频 | 欧美精品在线视频 | 国产精品国产三级国产不产一地 | 精品视频成人 | 高潮毛片无遮挡高清免费 | 欧美日韩不卡在线视频 | 亚洲日日日| 亚洲精品乱码久久久久 | 婷婷激情在线观看 | 日韩国产欧美在线播放 | 黄色1级大片 | 亚洲一区精品二人人爽久久 | 日本精品一区二区三区在线播放视频 | 国产精品成人国产乱一区 | 成人国产亚洲 | 欧美视频日韩 | 国产精品一区二区久久国产 | 91精品啪在线观看国产 | 91大神免费在线观看 | 欧美日韩高清 | 99九九热只有国产精品 | 999久久久精品视频 日韩高清www | 免费在线观看av片 | 91麻豆精品国产91久久久无限制版 | 日本丰满少妇免费一区 | 亚洲色视频 | 国产精品欧美一区二区 | a视频在线播放 | 亚洲黄色小说网址 | 国产日韩欧美视频 | 久久视频这里有久久精品视频11 | 国产午夜在线观看 | 免费男女网站 | 国产大陆亚洲精品国产 | 日韩 在线a | 夜又临在线观看 | 国产黄色大片 | 97超碰在| 亚州欧美视频 | 97国产在线视频 | 丁香一区二区 | 欧美亚洲久久 | 国产亚洲成人网 | 欧美精品一区二区性色 | 国产精品高清在线 | 久久国产电影院 | 国产亚洲精品久久网站 | 丝袜美腿在线播放 | 99国产在线 | 特级毛片爽www免费版 | 中文字幕久久精品一区 | 亚洲精品九九 | 成年人在线免费视频观看 | 最新av在线网站 |