在python中操作MySql

Python中操作MySql

创建数据库表

​ 在Python程序中,可以使用execute()在数据库中创建一个新表。下面的实例代码演示了在PyMySQL数据库中创建新表student的过程。

【示例】创建表student

import pymysql

db = pymysql.connect("localhost","root","root","python_db")
# 创建游标对象
cursor=db.cursor()
try:
    # 使用execute()方法执行sql,如果表存在则删除
    cursor.execute("drop table if exists student")
    # 创建表 sql
    sql= '''
        create table student(
        sno int(8) primary key auto_increment,
        sname char(30) not null,
        sex varchar(5),
        age int(2),
        score float(3,1)                  
          )  
    '''
    cursor.execute(sql)
    print('创表成功')
except Exception as e:
    print(e)
    print("创表失败")
finally:
    db.close()

数据库插入操作

在Python程序中,可以使用SQL语句向数据库中插入新的数据信息。

【示例】向student表中插入数据信息

import pymysql

db=pymysql.connect("localhost", "root", "root", 'python_db')
cursor = db.cursor()
sql= '''
    insert into student(sname,sex,age,score) values(%s,%s,%s,%s)
'''
try:
    cursor.execute(sql, ('李四', 'man', 25, 99.5))
    # 提交事务
    db.commit()
    print('插入成功')
except Exception as e :
    print(e)
    # 如果出现异常,回滚
    db.rollback()
    print("插入失败")
finally:
    db.close()

【示例】向student表同时插入多条数据

import pymysql

db = pymysql.connect("localhost", "root", "root", "python_db")
cursor = db.cursor()

sql='''
    insert into student(sname, sex, age, score) values(%s,%s,%s,%s)
'''
args = [("王五","man",23,80),("马二","woman",20,90)]
try:
    cursor.executemany(sql,args)
    db.commit()
    print("插入成功")
except Exception as e:
    print(e)
    print("插入失败")
finally:
    db.close()

数据库查询操作

​ Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

​ fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

​ fetchall(): 接收全部的返回结果行.

​ rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

import pymysql

db=pymysql.connect("localhost","root","root","python_db")
cursor=db.cursor()

sql = 'select * from student '
try:
    cursor.execute(sql)

    #获取结果
    stus = cursor.fetchall()
    print(stus)
    for stu in stus:

        sno = stu[0]
        sname = stu[1]
        sex = stu[2]
        age = stu[3]
        score = stu[4]
        print("sno:",sno,"sname:",sname,"sex:",sex,"age:",age,'score:',score)

except Exception as e:
    print(e)
    print("查询失败")
finally:
    db.close()

数据库更新操作

在Python程序中,可以使用update语句更新数据库中数据信息。

import pymysql

db = pymysql.connect("localhost","root","root","python_db")
cursor = db.cursor()
sql= 'update student set score=%s where sno=%s'
try:
    cursor.execute(sql,(92,3))
    db.commit()
    print("修改成功")
except Exception as e :
    print("修改失败")
    print(e)
    db.rollback()
finally:
    db.close()

数据库删除操作

在Python程序中,可以使用delete语句删除数据库中的数据信息

【示例】删除年龄小于25的学生

import pymysql

db=pymysql.connect("localhost","root","root","python_db")
cursor=db.cursor()

sql = 'delete from student where age<25'
try:
    cursor.execute(sql)
    db.commit()
    print('删除成功')
except Exception as e:
    print(e)
    print("删除失败")
finally:
    db.close()

nt where age<25’
try:
cursor.execute(sql)
db.commit()
print(‘删除成功’)
except Exception as e:
print(e)
print(“删除失败”)
finally:
db.close()


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值