mysql中的python_在python中 使用Mysql

在数据库中插入数据

# !/usr/bin/env/python

# .*. encoding:utf-8 -*-

import pymysql

def connect():

#num = int(input('部门编号:'))

#name = (input('部门名称:'))

#loc = (input('部门所在地:'))

#1.创建连接(主机,端口,用户名,口令,数据库名)

con = pymysql.connect(host='localhost',

port=3306,

user='root',

passwd='limenglei520',

database='hrs',

autocommit=True,

charset='utf8')

#autocommit=True 自动提交 charset要写不然编码有可能错

try:

with con.cursor() as cursour:

#插入一条

'''

result = cursour.execute(

'insert into TbDept values( %s, %s, %s)',

(num,name,loc)

)

'''

#插入多条

result = cursour.executemany(

'insert into TbDept values( %s, %s, %s)',

((51,'xx','xx'), (52,'nn','nn'), (53,'pp','pp'))

)

if result:

print('添加成功')

con.commit()

except pymysql.MySQLError as e:

print(e)

con.rollback()

finally:

con.close()

if __name__ == '__main__':

connect()

在数据库中更新数据

# !/usr/bin/env/python

# .*. encoding:utf-8 -*-

import pymysql

def connect():

id = int(input('更新的部门编号:'))

line = input('更新的列名:')

content = input('更新的内容:')

#1.创建连接(主机,端口,用户名,口令,数据库名)

con = pymysql.connect(host='localhost',

port=3306,

user='root',

passwd='limenglei520',

database='hrs',

autocommit=True,

charset='utf8')

try:

with con.cursor() as cursour:

#更新

update = cursour.execute(

f'update TbDept set {line}=(%s) where dno=(%s)',

(content,id)

)

if update:

print('更新成功')

con.commit()

except pymysql.MySQLError as e:

print(e)

con.rollback()

finally:

con.close()

if __name__ == '__main__':

connect()

从数据库中抓取数据

# !/usr/bin/env/python

# .*. encoding:utf-8 -*-

import pymysql

class Dept(object):

def __init__(self,no,name,loc):

self.no =no

self.name =name

self.loc =loc

def __str__(self):

return f'{self.no}\t{self.name}\t{self.loc}'

def connect():

con = pymysql.connect(host='localhost',

port=3306,

user='root',

passwd='limenglei520',

database='hrs',

autocommit=True,

charset='utf8',

cursorclass=pymysql.cursors.DictCursor)

#cursorclass 改游标类型

#cursorclass=pymysql.cursors.DictCursor把游标变成字典类型

try:

with con.cursor() as cursor:

cursor.execute('select dno no , dname name ,dloc loc from TbDept')

depts = cursor.fetchall()

for dept in depts:

print(dept)

# 方法一 print(dept['no'],dept['name'],dept['loc'])

# 方法二 dept = Dept(**dept) #解包

print(dept)

except pymysql.MySQLError as e:

pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值