pymysqlのmysqlデータベースの操作「10」を使ってPython +要求の接続

     ガイド。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)   #获取查询结果的前二行的数据

 

打印结果:

     

 

おすすめ

転載: www.cnblogs.com/syw20170419/p/11006132.html