4000字,详解Python操作MySQL数据库

这一行代码很长,里面涉及到好几个参数,这里为大家一一介绍如下:

  • 参数 1 :mysql 服务器所在的主机 IP

  • 参数 2 :用户名;

  • 参数 3 :密码;

  • 参数 4 :连接的 mysql 主机的端口,默认是 3306;

  • 参数 5 :连接的数据库名;

  • 参数 6 :通信采用的编码方式,默认是’gb2312’,要求与数据库创建时指定的编码一致,否则中文会乱码;

Ⅱ cursor游标对象


4000字,详解Python操作MySQL数据库

3. Python增删改查操作

================

① 创建一个数据表


import pymysql

db = pymysql.connect(host=‘192.168.3.47’ , user=‘root’,password=‘******’ , port=3306 , db=‘spiders’ , charset=‘utf8’)

cursor = db.cursor

检查表是否存在,如果存在删除

cursor.execute(‘drop table if exists students’)

创建表

sql = ‘create table students(id int auto_increment primary key not ,name varchar(10) not ,age int not )’

cursor.execute(sql)

db.close

注:以后用代码创建表的机会并不多,表一般都是我们提前创建好的。

② 插入数据


import pymysql

db = pymysql.connect(host=‘192.168.3.47’ , user=‘root’,password=‘******’ , port=3306 , db=‘spiders’ , charset=‘utf8’)

cursor = db.cursor

插入数据

sql = ‘insert into students(name,age) values(%s,%s)’

try:

cursor.execute(sql,(‘孙悟空’,100000))

db.commit

except:print(“插入失败”)

db.rollback

db.close

注 1:插入数据一定要用 try…except…语句,因为万一没插入成功,其余代码都无法执行。

注 2:import pymysql,此模块是默认开启mysql的事务功能的,因此,进行“增”、“删”、“改”的时候,一定要使用db.commit提交事务,否则就看不见所插入的数据。

③ 更新数据


import pymysql

db = pymysql.connect(host=‘192.168.3.47’ , user=‘root’,password=‘******’ , port=3306 , db=‘spiders’ , charset=‘utf8’)

cursor = db.cursor

更新数据

sql = ‘update students set age =%s where name=%s’

try:

cursor.execute(sql,(30,“郭卫华”))

db.commit

except:

print(“插入失败”)

db.rollback

db.close

③ 删除操作


import pymysql

db = pymysql.connect(host=‘192.168.3.47’ , user=‘root’,password=‘******’ , port=3306 , db=‘spiders’ , charset=‘utf8’)

cursor = db.cursor

删除数据

sql = ‘delete from students where age=100000’

try:

cursor.execute(sql)

db.commit

except:

print(“插入失败”)

db.rollback

db.close

④ 查询操作


  • fetchone功能:获取下一个查询结果集,结果集是一个对象。

  • fetchall功能:接收全部返回的行。

import pymysql

db = pymysql.connect(host=‘192.168.3.47’ , user=‘root’,password=‘******’ , port=3306 , db=‘spiders’ , charset=‘utf8’)

cursor = db.cursor

查询数据

sql = ‘select * from students where age>60’

try:

cursor.execute(sql)

reslist = cursor.fetchall

for row in reslist:

print(“%d–%d” %(row[0],row[1],… row[n]))

except:

print(“插入失败”)

db.rollback

db.close

4. 封装一个类

=========

注:把下面类写在 studentsql 文件中

import pymysql

class StudentsSql:

def init(self,host,user,port,dbname,charset):

self.host = host

self.user = user

self.port = port

self.dbname = dbname

self.charset = charset

def connet(sef):

self.db = pymysql.connect(self.host, self.user, self.port,

self.dbname, self.charset)

def close(self):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值