准备:安装pymysql:
pip3 install pymysql
提示:如果操作远程的数据库,本地不需要安装mysql或者maridb。
连接数据库用pymysql.connect()
,注意需要指定‘utf8’,否则会报unicodedecodeerror: 'utf-8' codec can't decode
的错。
import pymysql
mysql_svr_name = "hdm-114.hichina.com"
mysql_db_name = "hdm1140663_db"
mysql_db_user = "hdm1140663"
mysql_db_pwd = "******"
conn = pymysql.connect(mysql_svr_name,
mysql_db_user,
mysql_db_pwd,
mysql_db_name,
charset='utf8') # charset is a must
#print(conn)
cursor = conn.cursor()
#print(cursor)
用cursor.execute(sql)
执行sql命令,返回值是受影响的记录行数。用cursor.fetchall()
来取出所有的记录,返回值是一个元组,保存着所有记录。接下来用python语法对元组进行处理就可以了。
下面是一些简单的例子,如查询mysql的版本、显示数据表、查看数据表结构、删除记录等。
#sql = 'SELECT VERSION()'
#sql = 'show tables'
#sql = 'describe email'
sql = "delete from email where id = '72'"
num = cursor.execute(sql)
print('delete {} records'.format(num))
这是一个查询的例子,记录为空时,cursor.execute()
的返回值等于0。
sql = "select * from email"
num = cursor.execute(sql)
if num == 0:
print("No records")
else:
rows = cursor.fetchall()
for r in rows:
print(r[1])
最后不要忘了关闭游标和数据库连接。
cursor.close()
conn.close()