day17
笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了
目录
121、Python 操作 MySQL 基础使用
pymysql
在Python中,使用第三方库:pymysql 来完成对MySQL数据库的操作。
安装:
1、pip install pymysql;
2、或者 PyCharm中安装包 PyMySQL(使用清华源:https://pypi.tuna.tsinghua.edu.cn/simple
)。
创建到 MySQL 的数据库链接
"""
演示 Python pymysql库的基础操作
"""
from pymysql import Connection
# 构建到 MySQL数据库的链接
conn = Connection(
host = "localhost", # 主机名(IP)
port = 3306, # 端口
user= 'root', # 账户
password= '666666' # 密码
)
# 打印 MySQL 数据库软件信息
# 验证是否连接上指定数据库
print(conn.get_server_info())
# 关闭链接
conn.close()
执行 SQL 语句
执行非查询性质的SQL语句
示例代码如下:
"""
演示 Python pymysql库的基础操作
"""
from pymysql import Connection
# 构建到 MySQL数据库的链接
conn = Connection(
host = "localhost", # 主机名(IP)
port = 3306, # 端口
user= 'root', # 账户
password= '666666' # 密码
)
# # 打印 MySQL 数据库软件信息
# # 验证是否连接上指定数据库
# print(conn.get_server_info())
# 执行非查询性质的 SQL
cursor = conn.cursor() # 获取到游标对象
# 选择数据库
conn.select_db("test")
# 执行 sql
cursor.execute("create table test_pymysql (id int);")
# 关闭链接
conn.close()
执行查询性质的SQL语句
"""
演示 Python pymysql库的基础操作
"""
from pymysql import Connection
# 构建到 MySQL数据库的链接
conn = Connection(
host = "localhost", # 主机名(IP)
port = 3306, # 端口
user= 'root', # 账户
password= '666666' # 密码
)
# print(conn.get_server_info())
# 执行非查询性质的 SQL
# 获取到游标对象
cursor = conn.cursor()
# # 选择数据库
# conn.select_db("test")
# # 执行 sql
# cursor.execute("create table test_pymysql (id int);")
# 选择数据库
conn.select_db("world")
# 使用游标对象,执行 sql 语句
cursor.execute("select * from student_1")
# 获取查询结果
results = cursor.fetchall()
for r in results:
print(r)
# 关闭链接
conn.close()
122、Python 操作 MySQL 数据的插入
直接使用:
cursor.execute("insert into student_2 values(10002, '林俊杰', 31, '男')")
经过执行是无法将数据插入到数据表 student 中的。
因为:pymysql在执行数据插入或其它产生数据更改的SQL语句时,默认是需要提交更改的,即,需要通过代码“确认”这种更改行为。通过链接对象.commit() 即可确认此行为。
示例代码:
"""
演示使用 pymysql 库进行数据插入的操作
"""
from pymysql import Connection
# 构建到 MySQL数据库的链接
conn = Connection(
host = "localhost", # 主机名(IP)
port = 3306, # 端口
user= 'root', # 账户
password= '666666', # 密码
)
# 执行非查询性质的 SQL
cursor = conn.cursor() # 获取到游标对象
# 选择数据库
conn.select_db("world")