Python学习超简单第八弹:连接Mysql数据库

Python快乐学习、快乐成长

    • 1、PyMySQL是什么
      • [1.1 PyMySQL安装](#1.1 PyMySQL安装)
    • 2、数据库准备
    • 3、数据库连接
      • [3.1 创建数据库表](#3.1 创建数据库表)
      • [3.2 数据库插入操作](#3.2 数据库插入操作)
      • [3.3 数据库查询操作](#3.3 数据库查询操作)
      • [3.4 数据库更新操作](#3.4 数据库更新操作)
      • [3.5 数据库删除操作](#3.5 数据库删除操作)
  • 结尾

1、PyMySQL是什么

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用mysqldb。

1.1 PyMySQL安装

PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:

pip install PyMySQL

或者使用 git 命令下载安装包安装:

git clone https://github.com/PyMySQL/PyMySQL

2、数据库准备

1、创建了数据库 test

2、 test数据库中您已经创建表 person_info

3、person_info表字段为 id、name、age、sex等

4、连接数据库 test使用的用户名为 "root" ,密码为 "123456"。

3、数据库连接

示例:

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接

db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

#执行查询
cursor.execute("select * from person_info")

#获取查询结果
data=cursor.fetchall()

print(data) #结果((1, 'zhang', 27, '1', '312*****83123123', 'test', '2W'),)

#关闭数据库连接
db.close()

3.1 创建数据库表

如果数据库连接存在我们可以使用 execute() 方法来为数据库创建表,如下所示创建表Dept:

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接
db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

#如果存在则删除表person_info
cursor.execute("DROP TABLE IF EXISTS person_info")

# 使用预处理语句创建表
sql="""CREATE TABLE `person_info` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(255) DEFAULT NULL,
  `card` varchar(255) DEFAULT NULL,
  `dept` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`))"""

cursor.execute(sql)

#关闭数据库连接
db.close()

3.2 数据库插入操作

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接
db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

# 使用预处理语句创建表
sql="""INSERT INTO `test`.`person_info` 
           (`id`, `name`, `age`, `sex`, `card`, `dept`) 
       VALUES (1, 'zhang', 28, '1', '234****77777', 'TEST')
"""
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 如果发生错误则回滚
   db.rollback()

cursor.execute("select * from person_info")
print(cursor.fetchall())#结果((1, 'zhang', 28, '1', '234****77777', 'TEST'),)
#关闭数据库连接
db.close()

3.3 数据库查询操作

Python 查询 Mysql 使用 fetchone() 方法获取单条数据, 使用 fetchall() 方法获取多条数据。

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

fetchall(): 接收全部的返回结果行.

rowcount: 这是一个只读属性,并返回执行 execute() 方法后影响的行数。

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接
db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

cursor.execute("select * from person_info")
print(cursor.fetchall()) #所有数据
print(cursor.rowcount) # 2条

cursor.execute("select * from person_info where id=2")
print(cursor.fetchone()) #返回id=2的一条数据
print(cursor.rowcount)#1条
#关闭数据库连接
db.close()

3.4 数据库更新操作

更新操作用于更新数据表中的数据,以下实例演示了将id=1的数据的name更新为zzh:

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接
db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

# SQL 更新语句 
sql = "UPDATE person_info SET name = 'zzh' WHERE id=1 "
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
#关闭数据库连接
db.close()

3.5 数据库删除操作

删除操作用于删除数据表中的数据,以下实例演示了删除id等于1数据:

python 复制代码
#!/usr/bin/python3
import pymysql

#打开数据库链接
db=pymysql.connect(host='localhost',user='root',password='123456',db='test')

#创建对象
cursor=db.cursor()

# SQL 更新语句
sql = "DELETE FROM person_info WHERE id=1 "
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
#关闭数据库连接
db.close()

结尾

记录自己的快乐学习日志,也祝贺观看到这的小伙伴早日学有所成,财富自由💰💰。

记得点赞👍、收藏👋呀!!!

相关推荐
程序员清风6 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
学长毕设6 小时前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
正在走向自律7 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵7 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
在世修行7 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885728 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
独隅8 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
打工仔折腾 AI8 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
_孤傲_8 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
信誓旦旦的程序猿9 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口