在Python中连接MySQL数据库,可以使用pymysql库。以下是一个简单的步骤说明:
1、安装pymysql库
在命令行中输入以下命令来安装pymysql库:
pip install pymysql
1
2、导入库并建立连接
在Python脚本中,你需要首先导入库,然后使用connect()函数建立到MySQL数据库的连接。你需要提供数据库的主机名、端口(如果非默认3306)、用户名、密码和数据库名。
import pymysql #导入库
# 连接mysql
conn = pymysql.connect(
host='127.0.0.1', # 数据库主机名
port=3306,# 数据库端口,如果是3306就填写3306
user='root', # 数据库用户名
passwd='mysql', # 数据库密码
db='ysm', # 需要连接的数据库名称
charset='utf8') # 数据库编码
3、执行查询
连接建立后,你就可以执行SQL查询了。以下是一个简单的例子:
cursor = conn.cursor()
query = ("SELECT * FROM test_table") # 你的SQL查询语句
cursor.execute(query) #执行SQL语句
for (column1, column2, cloumn3) in cursor: # 遍历查询结果
print("{} {} {}".format(column1, column2, cloumn3))
注意,执行事务性的SQL(增删改、创建表等),需要在执行SQL后 使用 conn.commit() 和 conn.rollback()方法。
commit()方法:提交事务,将数据提交到数据库中。
rollback()方法:回退或回滚,表示事务中有执行失败的操作,这些操作必须被撤销。
4、关闭连接
在完成查询后,不要忘记关闭连接:
cursor.close() # 关闭游标
conn.close() #关闭数据库
完整示例:
import pymysql #导入库
import pandas as pd
# 连接mysql
conn = pymysql.connect(
host='127.0.0.1', # 数据库主机名
port=3306,# 数据库端口,如果是3306就填写3306
user='root', # 数据库用户名
passwd='mysql', # 数据库密码
db='ysm', # 需要连接的数据库名称
charset='utf8') # 数据库编码
cursor = conn.cursor() #建立一个游标,相当于查询窗口
#查询数据
query = ("SELECT * FROM test ") # SQL查询语句
cursor.execute(query) #执行SQL语句
for (column1, column2, column3) in cursor: # 遍历查询结果
print("{} {} {}".format(column1, column2, column3))
#新增数据
insert_sql = ("insert into test values ('a','b','c')") # SQL新增语句
cursor.execute(query) #执行SQL语句
try:
# 执行 SQL语句
res = cursor.execute(insert_sql)
# 提交事务
conn.commit()
except:
# 回滚
conn.rollback()
#更新数据
update_sql = ("update test set aa='new' where bb='b' ") # SQL更新语句
cursor.execute(query) #执行SQL语句
try:
# 执行 SQL语句
res = cursor.execute(update_sql)
# 提交事务
conn.commit()
except:
# 回滚
conn.rollback()
#删除数据
delete_sql = ("delete from test where aa='new' ") # SQL删除语句
cursor.execute(query) #执行SQL语句
try:
# 执行 SQL语句
res = cursor.execute(delete_sql)
# 提交事务
conn.commit()
except:
# 回滚
conn.rollback()
cursor.close() # 关闭游标
conn.close() #关闭数据库