欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于postgreSql 常用查詢小結(jié)

 更新時(shí)間:2021年01月26日 17:19:26   作者:jihite  
這篇文章主要介紹了基于postgreSql 常用查詢小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1. 日期格式轉(zhuǎn)化(參考

select beg_time, end_time, extract(epoch from to_timestamp(end_time,'yyyy-mm-dd-HH24-MI-SS-US'))-extract(epoch from to_timestamp(beg_time,'yyyy-mm-dd-HH24-MI-SS-US')) from cdb_all_iu_data where beg_time > '2017-09-21' 

注:beg_time, end_time以TEXT形式存儲(chǔ),求時(shí)間差時(shí)轉(zhuǎn)化為時(shí)間戳再相減得到結(jié)果(s)

2. select * from (中間結(jié)果) t

select count(*) from (
select chkid, count(*) from abc_table GROUP BY chkid) t

補(bǔ)充:自己寫的postgreSQL查詢語(yǔ)句

我就廢話不多說了,大家還是直接看代碼吧~

import psycopg2 
class PostgreConn():
  '''
  數(shù)據(jù)庫(kù)連接類
  '''
  def __init__(self, database, user, password, host, port):
    self.conn = psycopg2.connect(database=database, user=user, password=password, host=host, port=port)
    print('數(shù)據(jù)庫(kù)連接成功')
    self.cur = self.conn.cursor()
    self.rows = None
 
  def cur(self):
    return self.cur()
 
  def execute(self, sql, fetchone=0):
    self.cur.execute(sql)
    if fetchone:
      self.rows = self.cur.fetchone()
    else:
      self.rows = self.cur.fetchall()
    return self.rows
 
  def close(self):
    self.cur.close()
    self.conn.close()
    print('數(shù)據(jù)庫(kù)連接關(guān)閉') 
 
def select_sql(table, keys, conditions, isdistinct=0):
  '''
    生成select的sql語(yǔ)句
  @table,查詢記錄的表名
  @key,需要查詢的字段
  @conditions,插入的數(shù)據(jù),字典
  @isdistinct,查詢的數(shù)據(jù)是否不重復(fù)
  '''
  if isdistinct:
    sql = 'SELECT distinct %s ' % ",".join(keys)
  else:
    sql = 'SELECT %s ' % ",".join(keys)
  sql += ' from %s ' % table
  if conditions:
    sql += ' WHERE %s ' % dict_str_and(conditions)
  return sql 
 
def dict_str_and(dictin):
  '''
  將字典變成,key='value' and key='value'的形式
  '''
  tmplist = []
  for k, v in dictin.items():
    tmp = "%s='%s'" % (str(k), str(v))
    tmplist.append(' ' + tmp + ' ')
  return ' and '.join(tmplist) 
 
def fSqlResult(r,key_list):
  '''
  :param r: 數(shù)據(jù)庫(kù)fetchall的結(jié)果
  :param key_list: 查詢字段的keys
  :return:
  format SQL Result 格式化數(shù)據(jù)庫(kù)查詢的結(jié)果,轉(zhuǎn)化成包含多個(gè)字典的列表格式,即((1,2),(3,4))->[{"key1":1,"key2":2},{"key1":3,"key2":4}]
  返回 @dict 查詢結(jié)果
  '''
  mlist=[]
  l=len(key_list)
  if r:
    for item in r:
      tmp={}
      for i in range(l):
        tmp[key_list[i]]=str(item[i])
      mlist.append(tmp)
  return mlist 
 
conn = PostgreConn('settle', 'admin', 'settle8', '123.57.285.89', '5432')
key_list = ['user_id']
sql = select_sql('st_user', key_list, {'phone': '138****'})
print(sql)
r = conn.execute(sql)
re = fSqlResult(r, key_list)
print(re)
conn.close()

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Postgresql根據(jù)響應(yīng)數(shù)據(jù)反向?qū)崿F(xiàn)建表語(yǔ)句與insert語(yǔ)句的過程

    Postgresql根據(jù)響應(yīng)數(shù)據(jù)反向?qū)崿F(xiàn)建表語(yǔ)句與insert語(yǔ)句的過程

    根據(jù)已有數(shù)據(jù),可構(gòu)建名為products的表,包含id(自增主鍵)、title(非空字符串)、progress(非空整數(shù))三個(gè)字段,建表后,可通過insert語(yǔ)句插入數(shù)據(jù),這種反向操作有助于從現(xiàn)有數(shù)據(jù)結(jié)構(gòu)出發(fā),快速構(gòu)建數(shù)據(jù)庫(kù)表,并進(jìn)行數(shù)據(jù)填充,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 在postgreSQL中運(yùn)行sql腳本和pg_restore命令方式

    在postgreSQL中運(yùn)行sql腳本和pg_restore命令方式

    這篇文章主要介紹了在postgreSQL中運(yùn)行sql腳本和pg_restore命令方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Linux CentOS 7源碼編譯安裝PostgreSQL9.5

    Linux CentOS 7源碼編譯安裝PostgreSQL9.5

    這篇文章主要為大家詳細(xì)介紹了Linux CentOS 7源碼編譯安裝PostgreSQL9.5的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法

    PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法

    在數(shù)據(jù)庫(kù)并發(fā)操作環(huán)境中,多個(gè)事務(wù)同時(shí)嘗試更新相同的數(shù)據(jù)可能導(dǎo)致沖突,PostgreSQL?提供了一系列機(jī)制來處理這些并發(fā)更新沖突,以確保數(shù)據(jù)的一致性和完整性,所以本文給大家介紹了PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法,需要的朋友可以參考下
    2024-07-07
  • 使用PostGIS完成兩點(diǎn)間的河流軌跡及流經(jīng)長(zhǎng)度的計(jì)算(推薦)

    使用PostGIS完成兩點(diǎn)間的河流軌跡及流經(jīng)長(zhǎng)度的計(jì)算(推薦)

    這篇文章主要介紹了使用PostGIS完成兩點(diǎn)間的河流軌跡及流經(jīng)長(zhǎng)度的計(jì)算,使用POSTGIS及其擴(kuò)展pgrouting計(jì)算給定兩點(diǎn)間的河流流經(jīng)區(qū)域和河流長(zhǎng)度,需要的朋友可以參考下
    2022-01-01
  • PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案

    PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案

    這篇文章主要介紹了PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL的B-tree索引用法詳解

    PostgreSQL的B-tree索引用法詳解

    這篇文章主要介紹了PostgreSQL的B-tree索引用法詳解,有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • pgsql查詢優(yōu)化之模糊查詢實(shí)例詳解

    pgsql查詢優(yōu)化之模糊查詢實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于pgsql查詢優(yōu)化之模糊查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用pgsql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • windows PostgreSQL 9.1 安裝詳細(xì)步驟

    windows PostgreSQL 9.1 安裝詳細(xì)步驟

    這篇文章主要介紹了windows PostgreSQL 9.1 安裝詳細(xì)步驟,需要的朋友可以參考下
    2016-11-11
  • PostgreSQL使用jsonb進(jìn)行數(shù)組增刪改查的操作詳解

    PostgreSQL使用jsonb進(jìn)行數(shù)組增刪改查的操作詳解

    有時(shí)候我們需要使用PostgreSQL這種結(jié)構(gòu)化數(shù)據(jù)庫(kù)來存儲(chǔ)一些非結(jié)構(gòu)化數(shù)據(jù),PostgreSQL恰好又提供了json這種數(shù)據(jù)類型,這里我們來簡(jiǎn)單介紹使用jsonb的一些常見操作,需要的朋友可以參考下
    2024-03-03

最新評(píng)論