1、pymysql
除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库。
在python中,使用第三方库pymysql来完成对MySQL数据库的操作。
安装:pip install pymysql
创建到MySQL的数据库链接
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
host='localhost', # 主机名
port=3306, # 端口,默认3306
user='root', # 账户名
password='**********' # 密码
)
print(conn.get_server_info())
conn.close()
执行非查询性质的SQL语句
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
host='localhost', # 主机名
port=3306, # 端口,默认3306
user='root', # 账户名
password='*************' # 密码
)
# 执行非查询性质SQL
cursor = conn.cursor() # 获取到游标对象
# 选择数据库
conn.select_db("test")
# 执行sql
cursor.execute("create table_pymysql(id,int);")
conn.close()
执行查询性质的SQL语句
# 获取游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("world")
# 执行SQL
cursor.execute("select * from student")
# 通过fetchall得到查询结果
results = cursor.fetchall()
for r in results:
print(r)
# 关闭连接
conn.close()
使用python语句执行数据插入
错误示范:
from pymysql import connection
conn = Connection(
host = "localhost",
port = 3306,
user = "root",
password = "*******"
)
cursor = conn.cursor()
conn.select_db("world")
cursor.execute("insert into student values(10001, '周杰伦',31, '男'’)")
conn.close()
上边所示代码,经过执行是无法将数据插入到数据表格中的。这是因为pymysql在执行数据插入或其它产生数据更改的SQL语句时,默认是需要提交修改的,即,需要通过代码“确认”这种更改行为。通过:
conn.commit()
即可确认此行为。
如果不想手动commit确认,可以在构建链接对象的时候,设置自动commit的属性。如下所示,即可自动提交无需手动commit了。
conn = Connection(
host = "localhost",
port = 3306,
user = "root",
password = "*******",
autocommit = True
)