前言:python 3.x版本连接数据库,使用的是mysql库,而python 2.x 版本是用的mysqldb库

1、安装数据库:pip install pymysql  

2、连接数据库,执行sql获取返回结果 写法一:

import pymysql

#连接数据库
cnn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 使用cursor()方法获取操作游标
cursor = cnn.cursor()
print("Connect DB successfully!")

#准备执行的sql
sql = "SELECT * FROM `uc_alias` where type=1 and id = 110137"
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 获取所有记录列表
   results = cursor.fetchall()
   for row in results:
      id = row[0]
      type = row[1]
      appid = row[2]
      info = row[3]
      token = row[4]
      ext = row[5]
      unionid = row[7]
      state = row[8]
      ctime = row[9]
      atime = row[10]

      # 打印结果
      print("id=%s,type=%s,appid=%s,info=%s,token=%s,ext=%s,unionid=%s,state=%s,ctime=%s,atime=%s" %(id, type, appid, info, token,ext, unionid, state, ctime,atime))
except:
   print("Error: unable to fecth data")
   
# 关闭光标对象
cursor.close()
#关闭数据库连接
cnn.close()

运行的结果:

3、执行aql获取单条数据结果,写法二

import pymysql

#连接数据库
cnn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 使用cursor()方法获取操作游标
cursor = cnn.cursor()
print("Connect DB successfully!")

#准备执行的sql
sql = "SELECT * FROM `uc_alias` where type=1 and id = 110137"
cursor.execute(sql)
#获取单条查询的结果
ret = cursor.fetchone()

# 关闭光标对象
cursor.close()
#关闭数据库连接
cnn.close()
print(ret)

运行结果只有条:

3、执行aql获取多条数据结果

import pymysql

#连接数据库
cnn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 使用cursor()方法获取操作游标
cursor = cnn.cursor()
print("Connect DB successfully!")

#准备执行的sql
sql = "SELECT * FROM `uc_alias` where ctime between 1496739700 and 1496739720"
cursor.execute(sql)
#获取多条查询的结果
ret = cursor.fetchall()

# 关闭光标对象
cursor.close()
#关闭数据库连接
cnn.close()
print(ret)

运行结果有多条: