MySQL操作

本文详细介绍了使用Python的pymysql库进行MySQL数据库的基本操作,包括连接数据库、创建数据库和表、插入、更新、删除以及查询数据。示例代码展示了如何执行这些操作以及处理异常情况。
摘要由CSDN通过智能技术生成

MySQL操作

连接数据库

import pymysql

db = pymysql.connect(host='localhost',user='root',passwd='123456',port=3306)
cursor = db.cursor()
cursor.execute('SELECT VERSION()')
# 获取MySQL的版本号
data = cursor.fetchone()
# 创建数据库 spiders ,默认编码UTF-8
cursor.execute('CREATE DATABASE spiders DEFAULT CHARACTER SET utf8mb4')
db.close()

创建数据表

import pymysql

db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 创建数据表
sql = 'CREATE TABLE IF NOT EXISTS students (id VARCHAR(255)NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY(id))'
cursor.execute(sql)
db.close()

插入数据

import pymysql

id = '2019210050'
user = 'wiselisx'
age = 22

db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 插入数据
sql = 'INSERT INTO students (id, name, age) values(%ss, %ss, %ss)'
try:
    cursor.execute(sql,(id, user, age))
    db.commit()
except:
    db.close()
db.close()
import pymysql

data = {
    'id' : '2019210050',
    'user' : 'wiselisx',
    'age' : 22
}
db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 插入数据
table = 'student'
keys = ','.join(data.keys())
values = ','.join(['%s'] * len(data))
sql = 'INSERT INTO {tavle} ({keys}) VALUES ({values})'.format(table=table, keys=keys, value=values)
try:
    if cursor.execute(sql,tuple(data.values)):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()

更新数据

import pymysql

data = {
    'id' : '2019210050',
    'user' : 'wiselisx',
    'age' : 22
}
db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 插入数据
table = 'student'
keys = ','.join(data.keys())
values = ','.join(['%s'] * len(data))
# 主键存在便更新数据,不存在则插入数据
sql = 'INSERT INTO {tavle} ({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, value=values)
update = ','.join(['{KEY} = %s'.format(key=key) for key in data])
sql += update
try:
    if cursor.execute(sql,tuple(data.values)):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()

删除数据

import pymysql

data = {
    'id' : '2019210050',
    'user' : 'wiselisx',
    'age' : 22
}
db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 插入数据
table = 'student'
condaition = 'age>20'
# 删除数据
sql = 'DELETE FROM  {table} WHERE {condition}'.format(table=table, condition=condaition)
try:
    if cursor.execute(sql,tuple(data.values)):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()

查询数据

import pymysql

data = {
    'id' : '2019210050',
    'user' : 'wiselisx',
    'age' : 22
}
db = pymysql.connect(host='localhost', user='root', passwd='123456', port=3306, db='spiders' )
cursor = db.cursor()
# 插入数据
table = 'student'
condaition = 'age>20'
# 删除数据
sql = 'SELECT * FROM  {table} WHERE {condition}'.format(table=table, condition=condaition)
try:
    if cursor.execute(sql,tuple(data.values)):
        print('Successful')
        db.commit()
except:
    print('Failed')
    db.rollback()
db.close()
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值