星期五, 7月 28, 2006

[Note]SQL 與 Text

今天想到蠻有趣的構想。

SQL 一如我們所知,是查詢資料表格用的。除此之外,也可以查詢 Excel 或是 具有特定格式的 Text。
如果今天以 regular expression 用來查詢一個文字檔,像這樣:
select pos from mybase.txt where str='a*c'

或是這樣
select pos from mybase.txt where str='\d\d\d\d'


然後我們就得到一份表格,告知我們 'a*c' 或 '\d\d\d\d' 在 mybase.txt 裡出現的位置。
喔~這看來很方便呢~~

如果要替換某些字串呢?像這樣
update mybase.txt set str='abcd' where str='\d\d\d\d'

把所有是四個位數的數字替換成 abcd。

刪除也可以囉~
delete from mybase.txt where str='^void'

把所有一開頭是 void 的 void 都刪掉...

新增?沒啥特殊功能可以加上,就是 append 到最後吧...
insert into mybase.txt ( str ) values ('end of file')


歸納一些關鍵字如下:
  • str 表示要找的字串或是找到的字串
  • pos 則表示在檔案中的位置,也許可以再延伸出 line 與 column,來表示列與行的位置。
  • 當然也要支援 count() 之類的函數,這樣就可以統計共出現幾次。


我想我會找時間來完成這個有趣的構想吧...

補充:
剛剛又想到,其實也可以以 Lucene 來當作資料來源,這樣也很有趣...

沒有留言: