python查询数据库后更新_python 实现数据库中数据添加、查询与更新的示例代码...

本文介绍了如何使用Python进行数据库操作,包括批量添加数据到表中、查询特定条件的数据以及批量更新数据。示例代码展示了连接数据库、执行SQL语句的过程,并提供了数据生成和处理的方法。
摘要由CSDN通过智能技术生成

一、前言

最近做web网站的测试,遇到很多需要批量造数据的功能;比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据;本次构造数据主要涉及到在某个表里面批量添加数据、在关联的几个表中同步批量添加数据、批量查询某个表中符合条件的数据、批量更新某个表中符合条件的数据等。

二、数据添加

即批量添加数据到某个表中。

insert_data.py

import pymysql

import random

import time

from get_userinfo import get_userinfo

from get_info import get_info

from get_tags import get_tags

from get_tuser_id import get_utag

class DatabaseAccess():

def __init__(self):

self.__db_host = "xxxxx"

self.__db_port = 3307

self.__db_user = "root"

self.__db_password = "123456"

self.__db_database = "xxxxxx"

# 连接数据库

def isConnectionOpen(self):

self.__db = pymysql.connect(

host=self.__db_host,

port=self.__db_port,

user=self.__db_user,

password=self.__db_password,

database=self.__db_database,

charset='utf8'

)

# 插入数据

def linesinsert(self,n,user_id,tags_id,created_at):

self.isConnectionOpen()

# 创建游标

global cursor

conn = self.__db.cursor()

try:

sql1 = '''

INSERT INTO `codeforge_new`.`cf_user_tag`(`id`, `user_id`,

`tag_id`, `created_at`, `updated_at`) VALUES ({}, {},

{}, '{}', '{}');

'''.format(n,user_id,tags_id,created_at,created_at)

# 执行SQL

conn.execute(sql1,)

except Exception as e:

print(e)

finally:

# 关闭游标

conn.close()

self.__db.commit()

self.__db.close()

def get_data(self):

# 生成对应数据 1000条

for i in range(0,1001):

created_at = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())

# print(create_at)

# 用户id

tuserids = []

tuserid_list = get_utag()

for tuserid in tuserid_list:

tuserids.append(tuserid[0])

# print(tuserids)

userid_list = get_userinfo()

user_id = random.choice(userid_list)[0]

if user_id not in tuserids:

user_id=user_id

# 标签id

tagsid_list = get_tags()

tags_id = random.choice(tagsid_list)[0]

self.linesinsert(i,user_id,tags_id,created_at)

if __name__ == "__main__":

# 实例化对象

db=DatabaseAccess()

db.get_data()

二、数据批量查询

select_data.py

import pymysql

import pandas as pd

import numpy as np

def get_tags():

# 连接数据库,地址,端口,用户名,密码,数据库名称,数据格式

conn = pymysql.connect(host='xxx.xxx.xxx.xxx',port=3307,user='root',passwd='123456',db='xxxx',charset='utf8')

cur = conn.cursor()

# 表cf_users中获取所有用户id

sql = 'select id from cf_tags where id between 204 and 298'

# 将user_id列转成列表输出

df = pd.read_sql(sql,con=conn)

# 先使用array()将DataFrame转换一下

df1 = np.array(df)

# 再将转换后的数据用tolist()转成列表

df2 = df1.tolist()

# cur.execute(sql)

# data = cur.fetchone()

# print(df)

# print(df1)

# print(df2)

return df2

conn.close()

三、批量更新数据

select_data.py

import pymysql

import pandas as pd

import numpy as np

def get_tags():

# 连接数据库,地址,端口,用户名,密码,数据库名称,数据格式

conn = pymysql.connect(host='xxx.xxx.xxx.xxx',port=3307,user='root',passwd='123456',db='xxxx',charset='utf8')

cur = conn.cursor()

# 表cf_users中获取所有用户id

sql = 'select id from cf_tags where id between 204 and 298'

# 将user_id列转成列表输出

df = pd.read_sql(sql,con=conn)

# 先使用array()将DataFrame转换一下

df1 = np.array(df)

# 再将转换后的数据用tolist()转成列表

df2 = df1.tolist()

# cur.execute(sql)

# data = cur.fetchone()

# print(df)

# print(df1)

# print(df2)

return df2

conn.close()

以上就是python 实现数据库中数据添加、查询与更新的示例代码的详细内容,更多关于python 数据库添加、查询与更新的资料请关注python博客其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要使用 Python 的 Flask 框架来实现 Web 应用程序,然后连接到你的数据库。 在 Flask ,你可以使用 Flask-SQLAlchemy 扩展来连接到常见的 SQL 数据库,如 MySQL、PostgreSQL 和 SQLite。这个扩展提供了一个 SQLALCHEMY_DATABASE_URI 配置选项,你需要设置为指向你的数据库的连接字符串。 下面是一个简单的示例,它连接到 SQLite 数据库,并在 Web 页面上显示其数据: ```python from flask import Flask, render_template from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' db = SQLAlchemy(app) class Person(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) def __repr__(self): return f'<Person {self.id}>' @app.route('/') def index(): people = Person.query.all() return render_template('index.html', people=people) ``` 在这个示例,我们定义了一个名为 Person 的模型,它映射到数据库一个表。然后,我们使用 Flask-SQLAlchemy 扩展来连接到 SQLite 数据库,并将其设置为应用程序的默认数据库。 在 index() 视图函数,我们查询所有的 Person 记录,并将它们传递给一个名为 index.html 的模板,该模板将显示这些记录。 下面是 index.html 模板的代码: ```html <!DOCTYPE html> <html> <head> <title>People</title> </head> <body> <table> <thead> <tr> <th>ID</th> <th>Name</th> </tr> </thead> <tbody> {% for person in people %} <tr> <td>{{ person.id }}</td> <td>{{ person.name }}</td> </tr> {% endfor %} </tbody> </table> </body> </html> ``` 在这个模板,我们使用一个名为 people 的变量来迭代所有的 Person 记录,并将它们显示在一个 HTML 表格。 最后,你需要运行这个应用程序,并导航到 http://localhost:5000/,就可以在 Web 页面上看到数据库数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值