1、Pythonモジュールはpymysqlをインストールする必要があります
ステップ:
- リンクを作成します。
- カーソルを作成します。
- 私たちは、SQL文を実行する必要があります
- SQLの実行
- マニュアルの提出
- 結果を見ます
- 閉じるリンク
2、データベース・リンク、簡易認証
インポートpymysql
#1リンクライブラリpymysql接続(耐性CTE)を使用して、確立され
コネティカット= pymysql.connectを(=ホスト「データベースのホスト名」、
ユーザ = 「ユーザ名」、
パスワード = 「パスワードを」、
DB = " データベース名'
ポート = 3306 、
文字コード = ' UTF8 "、 #のコードセットUTF8ではなく、UTF8書き込み
= pymysql.cursors.DictCursor cursorclass) #カーソルクラスpymysql.cursors(テスト死んだ).DictCursor(ジュディス遠征死んだ)
#DictCursorカーソルクラスは、辞書のための単一の結果を返す、複数のネストされた辞書リストの結果は、
#はcursorclassカーソルを追加しないでくださいネストされた元祖元祖は、
#2は、カーソルcursor(ロースト色)を作成し
、カーソル= conn.cursor()
#3. SQL文のニーズに実行する
#の単一のクエリデータ:ところで
SQL = 「;メンバーMobilePhone、= 13264489754からSELECT * 」
#を第二の方法:あなたが電話番号を照会入力
#ユース%sのステーション、ユーザーが入力した携帯電話の着信値
#:モバイル=入力(「あなたの電話番号を入力してください」)
#WHERE MobilePhone、SELECT * =%sからSQL1 =」メンバーを; "
#三つの方法:クエリを複数のデータ
#= SQL2は「*メンバーLIMIT 0,10から選択した、」
#4のSQL文片を実行する(エックス公報Q)の間で、カーソルを実行
#最初のSQL実行
cursor.execute(SQL)
#は、第二の実行を物品SQL
#cursor.execute(SQL1、引数=(モバイル))#の引数(アーガス)は=カンマ使用して送信を配列型、タプルのリスト、文字列、祖先要素を必要
位SQL物品の実行
位cursor.execute(SQL2)
#手動で提出5.、(時間を買うために)コミットオブジェクト間のリンクを使用し
conn.commit()
#6(ワンを食べ回す)fetchoneの間でカーソルを使用し、結果を得る
結果1 = cursor.fetchone () #のfetchone戻って1つの結果だけを(百万を食べに回す)、からなる辞書内のレコード
#の印刷(結果1)
結果2 = cursor.fetchall() # (ターンオーストリアを食べて)複数の結果を得るためにはfetchAll、ネストされた辞書のリスト
#(結果2)印刷
#クローズリソースを解放する7.近いリンクを(サイエンス棟課)
#最初のカーソルをオフ
cursor.close() #
、その後、近くにカーソルオブジェクト
はconn.close()
3、接続のMySQL、SQL文の実行、データの検証にpymysqlモジュールを使用して
import pymysql
class HandleMysql:
"""
使用 pymysql 模块来连接mysql, 执行sql语句, 进行数据校验
"""
def __init__(self):
self.conn = pymysql.connect(host='数据库主机名,可以放在配置文件',
user='用户名,可以放在配置文件',
password='密码,可以放在配置文件',
db='那个数据库名,可以放在配置文件',
port='端口号,可以放在配置文件',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
self.cursor = self.conn.cursor() # 创建游标
def run(self, sql, args=None, is_more=False): # is_more是否是多个
"""
执行sql语句
:param sql:sql语句
:param args:元组类型可变参数(用于sql语句字符串中的占位符填充时传参使用)
:param is_more:默认False为执行一条sql语句
:return:sql语句执行结果(fetchone()返回的是一个字典,fetchall()返回的是一个嵌套字典的列表)
"""
self.cursor.execute(sql, args=args) # 执行sql
self.conn.commit() # 手动提交
if is_more:
return self.cursor.fetchall() # is_more 为 Trun获取多条执行结果
else:
return self.cursor.fetchone() # is_more 为 False获取单条执行结果
def close(self):
"""
关闭链接,释放资源
"""
self.cursor.close() # 关闭游标
self.conn.close() # 关闭数据库
if __name__ == '__main__':
mobile = '13264489754'
sql_1 = "select * from member where mobilephone=%s;"
sql_2 = "select * FROM member LIMIT 0,10;"
do_mysql_1 = HandleMysql()
res1 = do_mysql_1.run(sql_1, args=(mobile,))
print(res1)
do_mysql_2 = HandleMysql()
res2 = do_mysql_2.run(sql_2, is_more=True)
print(res2)
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/ 谢谢!!*******