数据库相关SQL

一般来说各个数据库的sql都是一样的语法,但还是说明一下这里的是postgres数据库。

下列示例中,
param_maintain是table,
type, param, param_value, unit, start_use_time, maintain_time是列名。

  • 查询
    SELECT type, param, param_value, unit, start_use_time, maintain_time
    FROM public.param_maintain;
  • 删除
    delete from param_maintain where param = ‘35’ ;
  • 插入
    INSERT INTO param_maintain (type, param, param_value, unit, start_use_time, maintain_time) VALUES
    (‘04’, ‘35’, 0.4, ‘um’, ‘2023-09-27’, ‘2024-01-04’), (‘04’, ‘35’, 0.4, ‘um’, ‘2023-09-27’, ‘2024-01-04’)
  • 更新
    UPDATE table_name
    SET column1 = value1, column2 = value2…, columnN = valueN
    WHERE [condition];
    eg:
    update param_maintain set param_value = 0.4
    where type = ‘4’ and param = ‘35’

示例代码

def get_conn_pg():
        f = open(r'./config.yaml', encoding='utf-8')
        config_param = yaml.load(f.read(), Loader=yaml.FullLoader).get('postpsql')

        conn = psycopg2.connect(host=config_param.get('host'),
                                port=config_param.get('port'),
                                user=config_param.get('user'),
                                password=config_param.get('password'),
                                database=config_param.get('database'))
        cur = conn.cursor()

        return conn, cur

def close_conn_pg(cur, conn):
    cur.close()
    conn.close()

conn, cur = get_conn_pg()
table = 'param_maintain'
sql_select = f""" select * from "{table}" where type = '04' """
cur.execute(sql_select)
# conn.commit()
data_list = cur.fetchall()
fields = [desc[0] for desc in cur.description]
close_conn_pg(cur, conn)

df_db_params = pd.DataFrame(data_list)
df_db_params.columns = fields

tips:
查询不需要commit。增删改需要commit,提交事务,操作真正会影响到数据库中,否则数据库数据不变。

你可能感兴趣的:(数据库,sql,oracle)