Python 连接 MySQL

1.数据库编程

从前⾯我们知道数据库概念包含 数据库⽂件、服务器和数据库客户端 客户端我们之前已经⽤过的有navicat/mysql-client等程序。

问题: 如何使⽤客户端将100000⾏数据插⼊到数据库?

⼤家会发现如果⽤之前客户端⼏乎是不可能完全这个任务的, 因为我们不可能去构造出那个插⼊10w⾏
数据的SQL。可是,如果我们有⼀个功能能够插⼊⼀⾏数据,借助程序强⼤的特点-重复,就可以轻⽽
易举的就将10w⾏数据收⼊麾下。这种通过使⽤程序代码的⽅式去连接数据库服务器,通过和服务器
进⾏交互完成对数据库的增删改查的⽅式,就称为数据库编程。

⽽此刻学习的pymysql就是⼀种客户端。

2.Python 中操作MySQL 步骤

  • 导入模块
  • 建立连接对象
  • 创建游标对象
  • 使用游标对象执行SQL语句
  • 获取执行的结果
  • 打印输出获取的内容
  • 关闭游标对象
  • 关闭连接对象

3.pymysql模块的使用

  • 导入

import pymysql

3.1Connection 对象

  • ⽤于建⽴与数据库的连接 调⽤pymysql模块中的connect()⽅法

conn=connect(参数列表)

  • 参数host:连接的mysql主机,如果本机是’localhost’
  • 参数port:连接的mysql主机的端⼝,默认是3306
  • 参数database:数据库的名称
  • 参数user:连接的⽤户名
  • 参数password:连接的密码
  • 参数charset:通信采⽤的编码⽅式,推荐使⽤utf8
  • 关闭连接

conn.close()

  • 提交数据

conn.commit()

  • 撤销数据

conn.rollback()

  • 通过连接获取游标

cur = conn.cursor() 返回Cursor对象,⽤于执⾏sql语句并获得结果

3.2 Cursor游标对象

  • 获取Cursor 对象
  • 调用Connection对象的cursor()⽅法再传给一个变量
    conn.cursor()

⽬的: 执⾏sql语句(使⽤频度最⾼的语句为select、insert、update、delete)

  • 使⽤游标执⾏SQL语句

execute(operation [, parameters ]) 执⾏SQL语句,返回受影响的⾏数,主要⽤于执⾏insert、
update、delete语句,也可以执⾏create、alter、drop等语句

  • 关闭游标

变量.close()

  • 获取结果集中的⼀条

变量.fetchone() 返回⼀个元组 形如 (1,‘妲⼰’,18)

  • 获取结果集中的所有

变量.fetchall() 执⾏查询时,获取结果集的所有⾏,⼀⾏构成⼀个元组,再将这些元组装⼊⼀
个元组返回 形如((1,‘公孙离’,20),(2,‘妲⼰’,18))

3.3pymysql完成数据查询

import pymysql
创建和数据库服务器的连接 服务器地址 端⼝ ⽤户名 密码 数据库名 通信使⽤字符和数据库字符集⼀致
conn = pymysql.connect(host=‘主机’, port=端口, user=‘用户名’, password=‘密码’,database=‘指定数据库’)
获取游标
cursor = conn.cursor()
执⾏SQL语句 返回值就是SQL语句在执⾏过程中影响的⾏数
sql = “”“select * from hero;”""
row_count = cursor.execute(sql)
print(“SQL语句执⾏影响的⾏数%d” % row_count)
取出结果集中⼀⾏ 返回的结果是⼀⾏ (1, ‘妲⼰’, 2)
print(cursor.fetchone())
取出结果集中的所有数据 返回 ((⼀⾏数据),(),())
((1, ‘妲⼰’, 2), (2, ‘李⽩’, 1), (3, ‘程咬⾦’, 3), (4, ‘亚瑟’, 5), (5, ‘荆轲’, 99))
for line in cursor.fetchall():
print(line)
关闭游标
cursor.close()
关闭连接
conn.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值