iT邦幫忙

0

SQLite如何在不同的table架構中找尋特定格式的column名稱

  • 分享至 

  • twitterImage

最近在研究各種即時通訊軟體APP的data base
如果我想要明確地把對話紀錄內容等資料拿出來
基於各種APP的table架構跟名稱都不太一樣
要先去確認table、column名稱後再query
例如Line的對話紀錄在"chat_history"這張table,文字內容在"content"這個column
Messenger的對話紀錄在"messages"這張table,文字內容在"text"這個column

我的需求是:有沒有什麼query方式或套件,能讓我在不知道APP的table、column名稱下,去找出有特定資料格式的column,並把該column的資料都拿出來?
例如對話紀錄的資料格式通常是字串、可能會有標點符號等等。

目前在網路上爬文比較沒有提到相關的需求,
感謝

這個讓我聯想到當初寫一個線上管理MSSQL網頁工具@@..
就是把所有資料表都列出來以及一些管理動作(新增、修改、刪除、下命令)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
I code so I am
iT邦高手 1 級 ‧ 2021-07-07 08:19:15

參考:
https://stackoverflow.com/questions/4654762/how-can-one-see-the-structure-of-a-table-in-sqlite

使用

PRAGMA table_info('foo');

SELECT sql FROM sqlite_master WHERE name='foo';
0
sam0407
iT邦大師 1 級 ‧ 2021-07-07 08:26:06

先說SQL Lite我不熟,只是餵了一下狗...參考下吧~~

google關鍵字:"SQL Lite 讀取所有Table name"
第一個連結就找到可能的答案:取得sqlite資料庫裡所有的表名 &複製表

取得sqlite資料庫裡所有的表名:
select name from sqlite_master where type='table' order by name;

查詢出某個表的所有欄位資訊:
PRAGMA table_info([tablename])

我要發表回答

立即登入回答