from pymysql import Connection
conn=Connection( # 获取连接对象
host="localhost", # 主机名
port=3306, # 端口
user="root", # 用户名
password="123456" # 密码
)
print(conn.get_server_info()) # 打印数据库版本号
conn.close() # 关闭数据库连接
x=conn.cursor() # 获取游标对象
conn.select_db("test410") # 选择数据库
x.execute("select * from ts;") # 执行sql语句,可不加分号
fanhui=x.fetchall() # 通过fetchall()获取查询结果,存入fanhui,存入类型为元祖
for r in fanhui: # 遍历输出
print(r)
conn.close()
"""例如输出为:
(1, 'jack', 18)
(2, 'peter', 19)
"""
(1)手动commit
x=conn.cursor() # 获取游标对象
conn.select_db("test410") # 选择数据库
x.execute("insert into ts values(3,'xiaoming',20)") # 执行sql语句
conn.commit() # 确认提交
conn.close()
from pymysql import Connection
conn=Connection(
host="localhost",
port=3306,
user="root",
password="123456",
autocommit=True # 自动确认打开
)
x=conn.cursor()
conn.select_db("test410")
x.execute("insert into ts values(4,'ming',21)")
conn.close()
将"10-python面向对象"综合练习中的数据插入数据库
from pymysql import Connection
from file_define import File1,File2
file1=File1("D:/面向对象资料1/2011年1月销售数据.txt")
file2=File2("D:/面向对象资料1/2011年2月销售数据JSON.txt")
ffile1=file1.read_data() # 调用方法,进行处理
ffile2=file2.read_data() # 调用方法,进行处理
all_data=ffile1+ffile2 # 所有数据组成的列表
conn=Connection(
host="localhost",
port=3306,
user="root",
password="123456",
autocommit=True
)
c=conn.cursor()
conn.select_db("py_sql")
for x in all_data:
sql=f"insert into orders values('{x.date}','{x.ID}',{x.price},'{x.province}')"
c.execute(sql)
conn.close()
完成
从数据库中获取到以上数据,将其转为json,并存入txt文件中
[解]
from pymysql import Connection
import json
conn=Connection(
host="localhost",
port=3306,
user="root",
password="123456",
autocommit=True
)
c=conn.cursor()
conn.select_db("py_sql")
c.execute("select * from orders")
fanhui=c.fetchall()
conn.close()
lis=[]
for r in fanhui:
dic={}
dic["order_date"]=str(r[0])
dic["order_id"]=r[1]
dic["price"]=r[2]
dic["povince"]=r[3]
lis.append(dic) # 由字典组成的列表,便于下面转json
"""
当前lis样式如:
[{'order_date': '2011-01-01', 'order_id': '4b34218c-9f37-4e66-b33e-327ecd5fb897', 'price': 1689, 'povince': '湖南省'}, {'order_date': '2011-01-01', 'order_id': '5b6a6417-9a16-4243-9704-255719074bff', 'price': 2353, 'povince': '河北省'},...]
"""
f=open("D:/new_file_mysql.txt","w",encoding="UTF-8")
for j in range(len(lis)):
s=json.dumps(lis[j],ensure_ascii=False)
f.write(s)
f.write("\n")
f.close()
结果