老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

py怎么和mysql連接,pycharm和mysql連接

python3.4怎么連接mysql pymysql連接mysql數據庫

1、python安裝目錄設定為d:/python34

站在用戶的角度思考問題,與客戶深入溝通,找到烏當網站設計與烏當網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站制作、成都做網站、企業官網、英文網站、手機端網站、網站推廣、域名注冊、網絡空間、企業郵箱。業務覆蓋烏當地區。

2、pymysql安裝方法為:解壓下載的文件,在cmd中運行: python setup.py install。

檢驗安裝安裝是否成功的方法:import pymysql 。 如果不報錯 說明安裝成功。

3、mysql安裝目錄為D:/phpStudy/MySQL。為避免更多配置問題,可在啟動phpstudy后,將其設為系統服務

4、基本操作:

(1)導入pymysql: import pymysql

(2)連接數據庫:

conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')

務必注意各等號前面的內容!charset參數可避免中文亂碼

(3)獲取操作游標:cur=conn.cursor()

(4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功后sta值為1。更新、刪除語句與此類似。

(5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功后cur變量中保存了查詢結果記錄集,然后再用循環打印結果:

for each in cur:

print(each[1].decode('utf-8')) # each[1] 表示當前游標所在行的的第2列值,如果是中文則需要處理編碼

pycharm如何連接mysql

在pycharm右側的工具欄,查找到Database,選擇MySQL,填寫主機、用戶名和密碼,連接MySQL數據庫

怎么做才能使mysql和python連接起來

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2中則使用mysqldb。

PyMySQL 遵循 Python 數據庫 API v2.0 規范,并包含了 pure-Python MySQL 客戶端庫。

PyMySQL 安裝

在使用 PyMySQL 之前,我們需要確保 PyMySQL 已安裝。

PyMySQL 下載地址:。

如果還未安裝,我們可以使用以下命令安裝最新版的 PyMySQL:

$ pip3 install PyMySQL

如果你的系統不支持 pip 命令,可以使用以下方式安裝:

1、使用 git 命令下載安裝包安裝(你也可以手動下載):

$ git clone cd PyMySQL/$ python3 setup.py install

2、如果需要制定版本號,可以使用 curl 命令來安裝:

$ # X.X 為 PyMySQL 的版本號$ curl -L | tar xz$ cd PyMySQL*$ python3 setup.py install

$ # 現在你可以刪除 PyMySQL* 目錄

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

安裝的過程中可能會出現"ImportError: No module named setuptools"的錯誤提示,意思是你沒有安裝setuptools,你可以訪問?找到各個系統的安裝方法。

Linux 系統安裝實例:

$ wget python3 ez_setup.py

數據庫連接

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

您已經創建了數據庫 TESTDB.

在TESTDB數據庫中您已經創建了表 EMPLOYEE

EMPLOYEE表字段為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。

連接數據庫TESTDB使用的用戶名為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql數據庫用戶授權請使用Grant命令。

在你的機子上已經安裝了 Python MySQLdb 模塊。

如果您對sql語句不熟悉,可以訪問我們的?SQL基礎教程

實例:

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

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用 cursor() 方法創建一個游標對象 cursorcursor = db.cursor()

# 使用 execute() ?方法執行 SQL 查詢 cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法獲取單條數據.data = cursor.fetchone()

print ("Database version : %s " % data)

# 關閉數據庫連接db.close()

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

Database version : 5.5.20-log

創建數據庫表

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

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用 cursor() 方法創建一個游標對象 cursorcursor = db.cursor()

# 使用 execute() 方法執行 SQL,如果表存在則刪除cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 使用預處理語句創建表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 插入記錄:

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.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: ? # 如果發生錯誤則回滾

db.rollback()

# 關閉數據庫連接db.close()

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

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標 cursor = db.cursor()

# SQL 插入語句sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \

? LAST_NAME, AGE, SEX, INCOME) \

? VALUES ('%s', '%s', ?%s, ?'%s', ?%s)" % \ ? ? ? ('Mac', 'Mohan', 20, 'M', 2000)try: ? # 執行sql語句

cursor.execute(sql)

# 執行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的所有數據:

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標 cursor = db.cursor()

# SQL 查詢語句sql = "SELECT * FROM EMPLOYEE \

? WHERE INCOME %s" % (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=%s,sex=%s,income=%s" % \ ? ? ? ? ? ? (fname, lname, age, sex, income ))except: ? print ("Error: unable to fetch data")

# 關閉數據庫連接db.close()

以上腳本執行結果如下:

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

數據庫更新操作

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

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標 cursor = db.cursor()

# SQL 更新語句sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')try: ? # 執行SQL語句

cursor.execute(sql)

# 提交到數據庫執行

db.commit()except: ? # 發生錯誤時回滾

db.rollback()

# 關閉數據庫連接db.close()

刪除操作

刪除操作用于刪除數據表中的數據,以下實例演示了刪除數據表 EMPLOYEE 中 AGE 大于 20 的所有數據:

實例(Python 3.0+)

#!/usr/bin/python3

import pymysql

# 打開數據庫連接db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法獲取操作游標 cursor = db.cursor()

# SQL 刪除語句sql = "DELETE FROM EMPLOYEE WHERE AGE %s" % (20)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。

實例

實例(Python 3.0+)

# SQL刪除記錄語句sql = "DELETE FROM EMPLOYEE WHERE AGE %s" % (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的子類。 ?

python怎么連接mysql數據庫

1、和數據庫建立連接

2、執行sql語句,接收返回值

3、關閉數據庫連接

1、MySQL數據庫要用MySQLdb模塊,但Python用來鏈接MySQL的第三方庫MySQLdb不支持Python3.x

特別說明:我在我的電腦上實驗時,我的python是2.7.2版本,安裝對應版本的MySQLdb之后直接可以運行,并與數據庫連接成功,所以如果大家也像我一樣順利的話,下面的就不需要看了,直接跳過,看第2點如何執行sql語句即可!如果安裝之后出現異常,可以參考一下下面的解決辦法。

連接的關鍵是安裝MySQLdb模塊要下載與Python相對應的版本:

下載好后安裝,它會自動檢測到計算機Python的安裝路徑,并自動填寫模塊解壓路徑(我的是:D:\ProgramFiles\ActivePython 2.6.6.17\Lib\site-packages\)。

但解壓完成后并不能使用,還要修改MySQLdb模塊下的一些文件:

①.在MySQLdb目錄下(我的是:D:\ProgramFiles\ActivePython 2.6.6.17\Lib\site-packages\MySQLdb)找到__init__.py:

注釋第34、35行的from setsimport ImmutableSet、class DBAPISet(ImmutableSet):,在后面添加class DBAPISet(frozenset):

# from sets import ImmutableSet

# class DBAPISet(ImmutableSet):

class DBAPISet(frozenset):

②.打開converters.py:

注釋第37行的from sets import BaseSet, Set,將第45行的return Set([ i for i in s.split(',') ifi ])中的Set改為set;同樣將第129行的Set: Set2Str,中的Set改為set(不要修改Set2Str),到這里就修改完畢了

2.建立數據庫連接

import MySQLdb

conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable")

 

比較常用的參數包括

host: 連接的數據庫服務器主機名,默認為本地主機(localhost)。

user:數據庫登陸名.默認是當前用戶.

passwd:數據庫登陸的秘密.默認為空.

db:要使用的數據庫名.沒有默認值.

port:MySQL服務使用的TCP端口.默認是3306.

conn連接有兩個重要的方法commit【提交新增和修改】,rollback【撤銷新增或修改】

3、執行數據庫操作

n=cursor.execute(sql,param)

我們要使用連接對象獲得一個cursor對象,接下來,我們會使用cursor提供的方法來進行工作.

這些方法包括兩大類:1.執行命令,2.接收返回值

cursor用來執行命令的方法:

  callproc(self, procname, args):用來執行存儲過程,接收的參數為存儲過程名和參數列表,返回值為受影響的行數

  execute(self, query, args):執行單條sql語句,接收的參數為sql語句本身和使用的參數列表,返回值為受影響的行數

  executemany(self, query, args):執行單挑sql語句,但是重復執行參數列表里的參數,返回值為受影響的行數

  nextset(self):移動到下一個結果集

  cursor用來接收返回值的方法:

  fetchall(self):接收全部的返回結果行.

  fetchmany(self, size=None):接收size條返回結果行.如果size的值大于返回的結果行的數量,則會返回cursor.arraysize條數據.

  fetchone(self):返回一條結果行.

  scroll(self, value, mode='relative'):移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一行移動value條.

下面的代碼是一個完整的例子.

#使用sql語句,這里要接收的參數都用%s占位符.要注意的是,無論你要插入的數據是什么類型,占位符永遠都要用%s

sql="insert into cdinfo values(%s,%s,%s,%s,%s)"

#param應該為tuple或者list

param=(title,singer,imgurl,url,alpha)

#執行,如果成功,n的值為1

n=cursor.execute(sql,param)

#再來執行一個查詢的操作

cursor.execute("select * from cdinfo")

#我們使用了fetchall這個方法.這樣,cds里保存的將會是查詢返回的全部結果.每條結果都是一個tuple類型的數據,這些tuple組成了一個tuple

cds=cursor.fetchall()

#因為是tuple,所以可以這樣使用結果集

print cds[0][3]

#或者直接顯示出來,看看結果集的真實樣子

print cds

#如果需要批量的插入數據,就這樣做

sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"

#每個值的集合為一個tuple,整個參數集組成一個tuple,或者list

param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))

#使用executemany方法來批量的插入數據.這真是一個很酷的方法!

n=cursor.executemany(sql,param)

需要注意的是(或者說是我感到奇怪的是),在執行完插入或刪除或修改操作后,需要調用一下conn.commit()方法進行提交.這樣,數據才會真正保存在數據庫中.我不清楚是否是我的mysql設置問題,總之,今天我在一開始使用的時候,如果不用commit,那數據就不會保留在數據庫中,但是,數據確實在數據庫呆過.因為自動編號進行了累積,而且返回的受影響的行數并不為0.

4、關閉數據庫連接

需要分別的關閉指針對象和連接對象.他們有名字相同的方法

cursor.close()

conn.close()

5、

5 編碼(防止亂碼)

需要注意的點:

1 Python文件設置編碼 utf-8 (文件前面加上 #encoding=utf-8)

2 MySQL數據庫charset=utf-8

3 Python連接MySQL是加上參數 charset=utf8

4 設置Python的默認編碼為 utf-8 (sys.setdefaultencoding(utf-8)

#encoding=utf-8

import sys

import MySQLdb

reload(sys)

sys.setdefaultencoding('utf-8')

db=MySQLdb.connect(user='root',charset='utf8')

注:MySQL的配置文件設置也必須配置成utf8

6.模塊功能演示

#!/usr/bin/python

import MySQLdb

Con= MySQLdb.connect(host='localhost',user='root',passwd='root',db='abc')

cursor =con.cursor()

sql ="select * from myt"

cursor.execute(sql)

row=cursor.fetchone()

print row

cursor.close()

con.close()

執行以下SQL語句獲取返回值:

//獲取連接的游標

cursor=conn.cursor()

//查詢

sql = "select * from 【table】"

//新增

sql = "insert into 【table】(字段,字段) values(值,值)"

//修改

sql = "update 【table】 set 字段 =‘值’where 條件 "

//刪除

sql = "delete from 【table】where 條件"

cursor.execute(sql)

返回值

cur.execute('select * from tables')

其返回值為SQL語句得到的行數,如:2L,表示2行。

然后,可以從該對象的fetchone或fetchall方法得到行信息。

獲取行信息

指針對象的fetchone()方法,是每次得到一行的tuple返回值:

引用

row=cur.fetchone()

print row

('user1', '52c69e3a57331081823331c4e69d3f2e', 1000L, 1000L, '/home/FTP/user1','')

指針對象的fetchall()方法,可取出指針結果集中的所有行,返回的結果集一個元組(tuples):

引用

cur.scroll(0,'absolute')

row=cur.fetchall()

print row

(('user1', '52c69e3a57331081823331c4e69d3f2e', 1000L, 1000L, '/home/FTP/user1',''), ('user2', '7e58d63b60197ceb55a1c487989a3720', 1000L, 1000L,'/home/FTP/user2', None))

移動指針

當使用fetchone()方法是,指針是會發生移動的。所以,若不重置指針,那么使用fetchall的信息將只會包含指針后面的行內容。

手動移動指針使用:

cur.scroll(int,parm)

含義為:

引用

int:移動的行數,整數;在相對模式下,正數向下移動,負值表示向上移動。

parm:移動的模式,默認是relative,相對模式;可接受absoulte,絕對模式。

修改數據

修改數據,包括插入、更新、刪除。它們都是使用指針對象的execute()方法執行:

cur.execute("insert into table (row1, row2) values ('111', '222')")

cur.execute("update table set row1 = 'test' where row2 = 'row2' ")

cur.execute("delete from table where row1 = 'row1' ")

因單引號“'”用于SQL語句中的標識,所以,python中的字符串需使用雙引號括住。

此外,也可以使用python的“格式化字符串”寫法,簡化命令,例如:

cur.execute("update table set row1 = '%s' where row2 = '%s' "%('value1','value2'))

※請注意,'%s'的單引號是SQL語句的間隔符,'value1'的單引號是python的字符串間隔符,其含義是不同的。是否需要間隔符,以及使用雙引號還是單引號作為間隔,需根據其含義決定。例如,還有:

cur.execute("update FTPUSERS set passwd=%s where userid='%s' "%("md5('123')",'user2'))

這里,paswd=%s是因SQL的md5()函數是不需要單引號間隔的;"md5('123')"是python的字符串中含有單引號,所以用雙引號括住。

提交修改

一般情況下,MySQLdb模塊會自動提交修改。但我們在更新數據后,手動運行一次:

conn.commit()

關閉數據庫連接

需要分別的關閉指針對象和連接對象.他們有名字相同的方法

cursor.close()

conn.close()

如何在Pycharm中連接配置MySQL數據庫

我們運用Pycharm制作軟件的時候,經常需要連接MYSQL數據庫。那么在Pycharm中如何配置MYSQL的連接呢?下面我給大家分享一下。

工具/材料

Pycharm

01

打開Pycharm軟件,點擊頂部的Views菜單,選擇下拉菜單中的Tool Windows選項,然后選擇DataBase,如下圖所示

02

在右側的Database設置界面中點擊加號,選擇Data Source下面的Mysql選項,如下圖所示

03

接下來會彈出Data Source設置界面,我們這里需要填寫Mysql的連接地址以及用戶名密碼,如下圖所示

04

然后點擊底部的Download連接下載數據庫連接的驅動程序,如下圖所示

05

安裝好驅動以后,點擊Test Connection按鈕測試一下連接是否成功,如下圖所示

06

這個時候會彈出安全警報界面,我們不需要擔心,直接點擊允許訪問即可,如下圖所示

07

當按鈕右側出現Successful時則代表數據庫連接成功,如下圖所示

08

最后回到Pycharm主界面,在右側的Database界面我們可以看到數據庫已經加載到Pycharm中去了,如下圖所示

python怎么和mysql鏈接?

在 Python 語言環境下我們這樣連接數據庫。

In [1]: from mysql import connector

In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx")

但是連接數據庫的背后發生了什么呢?

答案

當我們通過驅動程序(mysql-connector-python,pymysql)連接 MySQL 服務端的時候,就是把連接參數傳遞給驅動程序,驅動程序再根據參數會發起到 MySQL 服務端的 TCP 連接。當 TCP 連接建立之后驅動程序與服務端之間會按特定的格式和次序交換數據包,數據包的格式和發送次序由?MySQL 協議?規定。MySQL 協議:整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。

MySQL 服務端向客戶端發送一個握手包,包里記錄了 MySQL-Server 的版本,默認的授權插件,密碼鹽值(auth-data)。

2. MySQL 客戶端發出 ssl 連接請求包(如果有必要的話)。

3. MySQL 客戶端發出握手包的響應包,這個包時記錄了用戶名,密碼加密后的串,客戶端屬性,等等其它信息。

4. MySQL 服務端發出響應包,這個包里記錄了登錄是否成功,如果沒有成功也會給出錯誤信息。


名稱欄目:py怎么和mysql連接,pycharm和mysql連接
轉載來源:http://www.xueling.net.cn/article/heeppc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 2021国产精品国产精华 | 远方的山楂树免费观看视频48集 | 欧美精品一二三区免费 | 俄罗斯大屁股xxxxx | 亚洲黄色片一级 | 99久久无码一区人妻A片蜜臀 | 最近高清中文字幕免费mv | 久久人妻无码中文字幕 | 观看av | av影片在线播放 | 黄色av免费网站 | 一级特黄大片在线观看 | 大香伊蕉最新视频 | 粉嫩一区二区三区在线看 | 性按摩xxxx | 日日操日日插 | 免费国产凹凸在线视频 | 99精品国产福久久久久久 | 美女和帅哥在床上 | 日本伦理一区二区 | 亚洲人成在线免费观看 | 中文字幕一区二区三区在线不卡 | 久色青青 | 国内揄拍高清国内精品对白 | 成年美女黄网站色大片免费软件看 | 一级做a爰片毛片视频 | 亚洲精品无码AV人在线播放 | 国产亚洲高清视频你懂 | 天堂网在线最新版www | 免费一级高清毛片 | 麻豆视频观看免费视频观看 | 99精品国产一区二区 | 国产精品传媒视频 | 超碰91在线播放 | 小泽玛利亚一区二区在线观看 | 5252aⅴhaose我爱久久 | ssswww免费 | 成人网站www污污污网站 | 最近免费2019中文字幕大全 | 噜噜噜老湿私人影院 | 亚洲一区二区三区四区中文字幕 |