ガイド。pymysqlサポートpython2.7もpython3.xをサポートしています。現在、私はpython2.7を使用しています。だからここでの注意点をいくつかに、pymysqlを使用することを選択し破壊した後。一般的に、我々はセキュリティ上の理由から、データベースに接続し、我々は、SSL道を接続するように求められますが、使用する動作させるためかつ簡単に、ホワイトリスト、ネットワーク接続を追加することによって、開発者と通信することができ、ホワイトリストにこのIPネットワークを追加dbnameは、ホスト、ユーザ名、パスワード、データベース接続方法、操作が簡単:、モードは、データベースのSSL、直接の使用に接続することはできません。
データベースに接続します。
サンプルコード次の(照会データ)。
#!は/ usr / binに/ PythonのENV
#- * -コーディング:UTF-8 - * -
#著者:ラッキー、時間:2019年6月11日
インポートpymysql、SYS
インポートreadconfig
インポートJSON
#の接続データベース
DB = pymysql.connect( = readConfig.hostホスト、ユーザー= readConfig.userは、passwd = readConfig.passwd、DB = readConfig.db)#1 デシベル:ライブラリ名
#カーソル作成
#1 CUR = db.cursor()
#をカーソルを作成し、その結果は、辞書の形であったであろう戻り
CUR = db.cursor(pymysql.cursors.DictCursor)
#のSQL =「SELECT bs.uuid、bs.target_type、bs.source、bs.user_uuid、u.uuid ON User`に参加behavior_share` BS = Uからbs.agent_uuid bs.user_uuidどこu.mobile = '12606666333'」
#のクエリデータテーブルLCJ本
SQLは= " bs.uuidを選択して、参加ユーザU = u.uuid bs.user_uuid ON WHERE u.mobile = '12、606666333'からBS behavior_share` bs.agent_uuid` "
cur.execute(SQL)
#またはfetchAllの:テーブルLCJ内のすべてのデータを取得
RET1 = cur.fetchall()
印刷(RET1を)
印刷結果:
アドバンストモード:
構成情報は、情報の一元管理を設定するには、だけでなく、多くの場所を変更するために、ホストデータベースの後に最新の変更を避けるために、簡単に、PYファイルの表示に呼び出すことにより、データベースのINIファイルに書き込まれます。
(1)cfg.iniファイルを作成します。次のように書いています:
【Test_Env_mysql]
#は############# #################開発するためにそのような情報を取得する
ホスト= ******** ***************
ユーザー = iber_php
passwdファイル = *************
デシベル = iber2_admin
(2)INIの構成情報を読み取り、readConfig.pyファイルを作成します
#!/usr/bin/env python
# coding=UTF-8
'''此文件主要是获取cfg.ini中对应的配置信息'''
import os
import ConfigParser
cur_path = os.path.dirname(os.path.realpath(__file__))
configpath = os.path.join(cur_path,"cfg.ini")
conf = ConfigParser.ConfigParser()
conf.read(configpath)
#############获取到mysql的相关信息##################
host = conf.get("Test_Env_mysql","host")
user = conf.get("Test_Env_mysql","user")
passwd = conf.get("Test_Env_mysql","passwd")
db = conf.get("Test_Env_mysql","db")
(3)在使用的 attach_mysql.py 文件中直接调用
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author:lucky,time:2019-06-11
import pymysql,sys
import readConfig
import json
#连接数据库
db = pymysql.connect(host=readConfig.host,user = readConfig.user,passwd=readConfig.passwd,db=readConfig.db) #db:库名
..........剩下的信息更上方的((查询数据)示例代码如下:)写法一致。
数据库获取结果的几种常见方式;
示例一:
sql = "select bs.uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'"
cur.execute(sql)
#fetchall:获取lcj表中所有的数据
ret1 = cur.fetchall()
print(ret1) #获取所有的查询结果,此处的类型是列表
print len(ret1) #获取所有结果的条数
print ret1[0] #获取所得结果为0下标的字典
print type(ret1[0]) #此处的类型是字典
print ret1[0]["uuid"] #获取所得结果为0下标的字典中的某个值
打印结果:
实例二:
获取某行的数据。
sql = "select bs.uuid,bs.agent_uuid from `behavior_share` bs join user u on u.uuid = bs.user_uuid where u.mobile = '12606666333'"
cur.execute(sql)
print cur.fetchmany(1) #获取查询结果的前一行的数据
print cur.fetchmany(2) #获取查询结果的前二行的数据
打印结果: