ExASIC
分享让工作更轻松

用Python操作mysql数据库

准备:安装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)

执行sql命令

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()
阅读数:
更多文章:文章目录
解惑专区
(支持markdown插入源代码)
欢迎使用ExASIC订阅服务
仅用于ExASIC最新文章通知,方便及时阅读。
友情链接: IC技术圈问答ReCclayCrazyFPGA