零基础学习_Python操作Mysql

目录

1.安装第三方库

2.创建到Mysql的数据库连接

第一次:(检查是否正确连接)

3.Python操作查询 

第二次:(是否能成功执行非查询性质SQL)

 第三次:(实现查询)

 4.Python操作插入

1.手动确认commit

2.自动确认commit

 5.综合案例

1.案例需求

 2.DDL定义

 3.实现步骤

1.读取数据

2.封装数据对象

3.构建数据库来连接,写入数据库


1.安装第三方库

pip install pymysql

2.创建到Mysql的数据库连接

第一次:(检查是否正确连接)

from pymysql import Connection

#构建Mysql数据库的连接
conn = Connection(
    host="localhost",   #主机名(IP)
    port=3306,  #端口
    user="root", #用户
    password = "123456" #密码
)

print(conn.get_server_info())
#执行非查询性质SQL

#执行查询性质SQL

#关闭连接
conn.close()

打印输出了Mysql的版本号,说明正确连接 

3.Python操作查询 

第二次:(是否能成功执行非查询性质SQL)

from pymysql import Connection

#构建Mysql数据库的连接
conn = Connection(
    host="localhost",   #主机名(IP)
    port=3306,  #端口
    user="root", #用户
    password = "123456" #密码
)

# print(conn.get_server_info())
#执行非查询性质SQL
cursor = conn.cursor()  #获取到游标对象
#选择数据库
conn.select_db("xjx231106") #相当于SQL语句的use xjx231106;
cursor.execute("create table test_pymysql(id int);")    #传入SQL语句,分号可以省略
#执行查询性质SQL


#关闭连接
conn.close()

 第三次:(实现查询)

通过连接对象调用cursor方法,得到游标对象;

游标对象.execute()执行sql语句

注意:results为元组

from pymysql import Connection

#构建Mysql数据库的连接
conn = Connection(
    host="localhost",   #主机名(IP)
    port=3306,  #端口
    user="root", #用户
    password = "123456" #密码
)

# print(conn.get_server_info())
#执行非查询性质SQL
cursor = conn.cursor()  #获取到游标对象
#选择数据库
conn.select_db("xjx231106") #相当于SQL语句的use xjx231106;
# cursor.execute("create table test_pymysql(id int);")    #传入SQL语句,分号可以省略
#执行查询性质SQL
cursor.execute("select * from student")

results = cursor.fetchall()
for r in results:
    print(r)

 4.Python操作插入

1.手动确认commit

from pymysql import Connection

#构建Mysql数据库的连接
conn = Connection(
    host="localhost",   #主机名(IP)
    port=3306,  #端口
    user="root", #用户
    password = "123456" #密码
)

# print(conn.get_server_info())
#执行非查询性质SQL
cursor = conn.cursor()  #获取到游标对象
#选择数据库
conn.select_db("xjx231106") #相当于SQL语句的use xjx231106;
#执行SQL
cursor.execute("insert into student values(22,'周俊杰',34,'男')")
# #通过commit确认
conn.commit()
#关闭连接
conn.close()

 

2.自动确认commit

#构建Mysql数据库的连接
conn = Connection(
    host="localhost",   #主机名(IP)
    port=3306,  #端口
    user="root", #用户
    password = "123456", #密码
    autocommit=True #自动确认提交

)

# print(conn.get_server_info())
#执行非查询性质SQL
cursor = conn.cursor()  #获取到游标对象
#选择数据库
conn.select_db("xjx231106") #相当于SQL语句的use xjx231106;
#执行SQL
cursor.execute("insert into student values(22,'周俊杰',34,'男')")
# #通过commit确认
# conn.commit()
#关闭连接
conn.close()

 5.综合案例

1.案例需求

使用上次面向对象的案例数据集https://blog.csdn.net/Hooray11/article/details/134227454?spm=1001.2014.3001.5501,完成使用python语言,读取数据,并将数据写入Mysql的功能。

 数据样例:

 2011年1月销售数据.txt

 2011年2月销售数据JSON.txt

 

 2.DDL定义

在DBeaver中创建数据库和表:

create database py_sql charset utf8;

use py_sql;

create table orders(
	order_date date,
	order_id varchar(255),
	money int,
	province varchar(255)
);

 

 3.实现步骤

1.读取数据

参考:Python自学—黑马程序员—数据分析案例-CSDN博客

2.封装数据对象

 参考:Python自学—黑马程序员—数据分析案例-CSDN博客

3.构建数据库来连接,写入数据库

#构建Mysql数据连接
conn = Connection(
    host="localhost",
    port=3306,
    user="root",
    password="123456",
    autocommit=True
)
#获得游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("py_sql")
#组织SQL语句
for record in all_data:
    sql = (f"insert into orders(order_date,order_id,money,province) "
           f"values('{record.date}','{record.order_id}',{record.money},'{record.province}')")
    #执行SQL语句
    cursor.execute(sql)
#关闭Mysql连接对象
conn.close()

成功 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hooray11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值