python访问数据库文件_Python访问数据库

Python访问数据库

本文案例基于runoob数据库下,51job表演示

1.MySQL的连接

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "123456", "runoob")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute() 方法执行 SQL,如果表存在则删除

cursor.execute("DROP TABLE IF EXISTS employee")

# 使用预处理语句创建表

sql = """CREATE TABLE EMPLOYEE (

FIRST_NAME CHAR(20) NOT NULL,

LAST_NAME CHAR(20),

AGE INT,

SEX CHAR(1),

INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接

db.close()

2.插入数据

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 执行SQl语句

result=cursor.execute("insert into websites values (7,'秋弦','https://www.cnblogs.com/James-221',4,'China')")

# 如果SQl语句是添加

result=connect.commit()

print('成功插入',cursor.rowcount,'条数据')

3.修改数据

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 执行SQl语句

result=cursor.execute("update websites set alexa=2 where id=1")

# 如果SQl语句是添加

connect.commit()

print('成功修改',cursor.rowcount,'条数据')

4.删除数据

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 执行SQl语句

result=cursor.execute("delete from websites where id=7")

# 如果SQl语句是添加

connect.commit()

print('成功删除',cursor.rowcount,'条数据')

5.查询数据

from config import get_connect

connect=get_connect('runoob')

cursor=connect.cursor()

# 执行SQl语句

result=cursor.execute("select * from websites")

# 如果SQl语句是添加

result=connect.commit()

for row in cursor.fetchall():

print(row)

print('共查出',cursor.rowcount,'条数据')

6.基本操作

import pymysql

from config import get_connect

connect=get_connect('job')

print('数据库连接成功')

# 获取游标对象,游标对象可以将SQL语句发送到mysql数据库并执行

cursor=connect.cursor()

# 执行SQl语句

result=cursor.execute('select * from 51job')

# print(type(result))

# print(result)

# 从游标对象中获取一条数据

# data=cursor.fetchone()

# print(data)

# 从游标对象中获取10条数据

# data=cursor.fetchmany(10)

# for row in data:

# print(row)

# 获取所有数据

# data=cursor.fetchall()

# print(len(data))

# 数据库连接结束后,关闭游标和连接

cursor.closo()

connect.close()

案例:

题目需求:

文件操作+数据库练习

1)使用pymsql创建数据库和数据表,库名称:test,表名称:51job2)使用任意可用与解析excel文件的模块,解析51job.xls

3)使用pymysql将51job.xls中的数据添加到test.5ljob表中

4)使用pymysql查询test.51job中的所有数据,筛选出位于”上海-浦东新区”的所有工作岗位

1.创建一个配置文件config.py

import pymysql

HOST='localhost'

USER='root'

PWD='123456'

def get_connect(db):

connect=pymysql.connect(host=HOST,

user=USER,

password=PWD,

db=db)

return connect

2.demo.py

# 读取F:\\Python资料\\51job.xls文件内容后,将需要到字段信息(jobName,company,location,salary,postDate)存入mysql数据库实例,最终记得要关数据库和连接哦!

# 读取excel表的内容然后写入数据库

import xlrd,pymysql

from config import get_connect

# 连接的数据库

conn = get_connect('runoob')

def insert():

# 获取游标对象

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

sql = "insert into 51job (jobName,company,location,salary,postDate) values (%s,%s,%s,%s,%s)"

# 打开文件

file = xlrd.open_workbook("F:\\Python资料\\51job.xls")

sheet_1 = file.sheet_by_index(0) # 根据sheet页的排序选取sheet

row_content = sheet_1.row_values(0) # 获取指定行的数据,返回列表,排序自0开始

row_number = sheet_1.nrows # 获取有数据的最大行数

# 从第一行开始遍历

for i in range(1,row_number):

#

jobName = sheet_1.cell(i,0).value

company = sheet_1.cell(i,1).value

location = sheet_1.cell(i,2).value

salary = sheet_1.cell(i,3).value

postDate = sheet_1.cell(i,4).value

values = (jobName,company,location,salary,postDate)

# 执行sql语句插入数据

cursor.execute(sql,values)

conn.commit()

# 关必游标

cursor.close()

# 关闭连接

conn.close()

insert()

# 查询地址在上海-浦东新区的数据

def select():

connect = get_connect('runoob')

cursor = connect.cursor()

# 执行SQl语句

result = cursor.execute("select * from 51job where location like '%上海-浦东新区'")

# 如果SQl语句是添加

result = connect.commit()

for row in cursor.fetchall():

print(row)

print('共查出', cursor.rowcount, '条数据')

select()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值