Python Mysql 存储

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Python Mysql 存储脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.连接数据库

import pyMySQL

db = pymySQL.connect(host=’localhost’,user=’root’,password=’******’,port=3306) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句cursor.execute(‘SELECT VERSION()’)  #执行SQL语句,获得当前版本data = cursor.fetchone() #获得版本的第一条数据PRint(‘Database version:’,data)cursor.execute(“CREATE DATABASE spiders DEFAULT CHARACTER SET utf8”) #执行SQL语句,创建数据库db.close()

 

2.创建数据表

import pymysql

#在 spiders数据库中创建students数据表db = pymysql.connect(host=’localhost’,user=’root’,password=’******’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句sql = ‘CREATE TABLE  IF NOT EXISTS student(id VArchAR(255) NOT NULL,name VARCHAR(255) NOT NULL,age INT NOT NULL,Primary KEY(id))’#创建数据表studentcursor.execute(sql)db.close()

 

3.向数据表插入数据

import pymysql

#向 spiders数据库中student数据表写入数据data={‘id’:’001′,‘name’:’Bob’,‘age’: 20}db = pymysql.connect(host=’localhost’,user=’root’,password=’******’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句table = ‘student’keys=’, ‘.join(data.keys()) #写入键values = ‘, ‘.join([‘%s’] * len(data)) #定义占位符数组sql = ‘INSERT INTO {table}({keys}) VALUES ({values})’.format(table=table,keys=keys,values=values)#sql = ‘INSERT INTO student(id,name,age) values (%s,%s,%s)’#格式化写入数据try:if cursor.execute(sql,tuple(data.values())):print(‘Successful’)db.COMmIT()except:print(‘Failed’)db.rollback()db.close()

 

 

4.更新数据

import pymysql

#向 spiders数据库中student数据表写入数据data={‘id’:’001′,‘name’:’Bob’,‘age’: 21}db = pymysql.connect(host=’localhost’,user=’root’,password=’*******’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句table = ‘student’keys=’, ‘.join(data.keys()) #写入键values = ‘, ‘.join([‘%s’] * len(data)) #定义占位符数组sql = ‘INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE’.format(table=table,keys=keys,values=values) #如果主键不存在。插入,存在则更新update = ‘, ‘.join([‘{key}=%s’.format(key=key) for key in data])sql += update#sql = ‘INSERT INTO student(id,name,age) values (%s,%s,%s)’#格式化写入数据try:if cursor.execute(sql,tuple(data.values())*2):print(‘Successful’)db.commit()except:print(‘Failed’)db.rollback()db.close()

 

5.删除数据

import pymysqldb = pymysql.connect(host=’localhost’,user=’root’,password=’******’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句table = ‘student’condition = ‘age>20’sql = ‘DELETE From {table} WHERE {condition}’.format(table=table,condition=condition)try:if cursor.execute(sql):db.commit()except:print(‘Failed’)db.rollback()db.close()

 

 

6.查找数据

import pymysql

db = pymysql.connect(host=’localhost’,user=’root’,password=’*******’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句table = ‘student’condition=’age>20′sql = ‘SELECT * From {table} WHERE {condition}’.format(table=table,condition=condition)try:cursor.execute(sql)print(‘Count:’,cursor.rowcount) #符合条件的数据数    one = cursor.fetchone() #获取第一条,此时指针发生偏移,偏移至第二条    print(‘One:’,one)results=cursor.fetchall() #获取所有    print(‘Results:’,results)print(‘Results TyPE:’,type(results)) #元组类型    for row in results:print(row) #打印从当前指针位置,即第二条往后的所有符合条件的数据    #db.commit()except:print(‘Failed’)db.rollback()db.close()

 

也可以使用while循环打印所有符合条件的数据

import pymysql

db = pymysql.connect(host=’localhost’,user=’root’,password=’*****’,port=3306,db=’spiders’) #声明MySQL连接对象dbcursor = db.cursor() #获得MySQL的操作游标,利用游标执行SQL 语句table = ‘student’condition=’age>20′sql = ‘SELECT * FROM {table} WHERE {condition}’.format(table=table,condition=condition)try:cursor.execute(sql)print(‘Count:’,cursor.rowcount) #符合条件的数据数    row = cursor.fetchone()while row:print(‘Row:’,row)row = cursor.fetchone()#db.commit()except:print(‘Failed’)db.rollback()db.close()

脚本宝典总结

以上是脚本宝典为你收集整理的Python Mysql 存储全部内容,希望文章能够帮你解决Python Mysql 存储所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。