暑期实训记录:第四周(1)

这个博客展示了如何使用Python的Flask框架与PostgreSQL数据库进行交互,包括读取、插入、创建和删除数据表。示例代码中定义了find、insert_food、create_table、delete_table、get和read_pic等函数,用于执行特定的数据操作。
摘要由CSDN通过智能技术生成

flask连接完整的数据库

实现从postgresql远程数据库调用数据

import psycopg2


def find(user_id):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute(
        "SELECT food_name,url,food_infor,RELATION_TABLE.food_id FROM RELATION_TABLE INNER JOIN FOOD_TABLE  ON RELATION_TABLE.food_id = FOOD_TABLE.food_id where id='" + user_id + "' and relationship='1'")
    n = cursor.fetchall()
    conn.closed()
    return n


def insert_food(user_id, food_url, food_infor, food_name, time):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute("SELECT * from FOOD_TABLE")
    n = cursor.rowcount + 1
    str(n)
    cursor.execute("INSERT INTO FOOD_TABLE(food_id,food_name,food_infor,url,time)VALUES('%s','%s','%s','%s','%s')" % (
    n, food_name, food_infor, food_url, time))
    conn.commit()
    cursor.execute("INSERT INTO RELATION_TABLE(id,food_id,relationship)VALUES('%s','%s','%s')" % (user_id, n, '1'))
    conn.commit()
    conn.closed()


def createtable(user_id):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute(
        "CREATE TABLE FOOD_" + user_id + " AS SELECT relation_table.food_id,food_name,url,food_infor,time  FROM  FOOD_TABLE,RELATION_TABLE WHERE relation_table.id='" + user_id + "' AND FOOD_TABLE.food_id=RELATION_TABLE.food_id and relationship='1'")


def deletetable(user_id):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute("DROP TABLE IF EXISTS FOOD_" + user_id)


def get(user_id):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute("SELECT * FROM FOOD_" + user_id)
    n = cursor.fetchall()
    conn.closed()
    return n


def read_pic(user_id):
    conn = psycopg2.connect(
        database="USER_TABLE", user='postgres', password='',
        host='', port='5432')
    cursor = conn.cursor()
    conn.autocommit = True
    sql = "select food_name,food_url from FOOD_TABLE where id = '{0}'".format(user_id)
    print(sql)
    cursor.execute(sql)
    pic_result = cursor.fetchall()
    conn.commit()
    conn.closed()
    return pic_result

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值