目录
除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库。
在Python中,使用第三方库:pymysql 来完成对MySQL数据库的操作。
演示,执行非查询性质的SQL语句:
执行查询性质的SQL语句:
•
游标对象使用
fetchall()
方法,得到的是全部的查询结果,是一个元组
•
这个元组内部嵌套了元组,嵌套的元组就是一行查询结果
1. Python中使用什么第三方库来操作MySQL?如何安装?
使用第三方库为:pymysql
安装:pip install pymysql
2. 如何获取链接对象?
•
from pymysql import Connection
导包
•
Connection(
主机
,
端口
,
账户
,
密码
)
即可得到链接对象
•
链接对象
.close()
关闭和
MySQL
数据库的连接
3. 如何执行SQL查询
通过连接对象调用cursor()方法,得到游标对象
•
游标对象
.execute()
执行
SQL
语句
•
游标对象
.
fetchall
()
得到全部的查询结果封装入元组内
Python执行SQL语句插入数据到MySQL
from pymysql import Connection
#构建数据库链接
cnn = Connection(
host="localhost",# 主机名
port =3306,
user ="root",
password = "qw1212"
)
print(cnn.get_server_info())
# 获取游标对象
cursor = cnn.cursor()
#选择数据库
cnn.select_db("tapp_database")
#执行sql
#cursor.execute("select * from user")
cursor.execute("insert into user values (1000003, 'ad', '1234567')")
#通过commit确认!!!!!
cnn.commit()
cursor.execute("select * from user")
results: tuple = cursor.fetchall()
for r in results:
print(r)
cnn.close()
自动commit
如果不想手动commit确认,可以在构建链接对象的时候,设置自动commit的属性。
如图代码进行设置,即可自动提交无需手动commit了
1. 什么是commit提交?
pymysql库在执行对数据库有修改操作的行为时,是需要通过链接对象的commit成员方法来进行确认的。
只有确认的修改,才能生效。
2. 如何自动提交呢?