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()

结尾

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

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

相关推荐
Chuer_2 小时前
讲透财务Agent核心概念,深度拆解财务Agent应用趋势
大数据·数据库·安全·数据分析·甘特图
gushinghsjj2 小时前
什么是主数据管理平台?怎么构建主数据管理平台?
大数据·数据库
herinspace2 小时前
如何解决管家婆辉煌零售POS中显示的原价和售价不一致?
网络·人工智能·学习·excel·语音识别·零售
Generalzy2 小时前
TinyDB轻量文档数据库
数据库
qq_654366982 小时前
如何排查Oracle客户端连接慢_DNS解析超时与sqlnet配置优化
jvm·数据库·python
_李小白2 小时前
【AI大模型学习笔记之平台篇】第六篇:安卓开发AI工具介绍(Android CLI、Android Skill和Android Knowledge Base)
人工智能·笔记·学习
黄昏晓x2 小时前
数据库基础
数据库·adb
迷途酱2 小时前
手写一个 AI Agent:从 Function Calling 到自动化任务链
python