SQLiteデータベース、sql言語プローブ


wo-06 10-12 dfeixtay original
sql言語プローブ
昨日、初めてデータベースを使用して、3万行の指定データの収集と保存を完了しました.
SQLの全行程はstructured query language、構造化クエリー言語です.これは、直接的なテキスト解析よりもデータベースクエリを使用する方が高速な方法ではないでしょうか.もちろん、私のデータベースを使用する前のテキストの解析方法はよくありません.今考えているのは、テキストの解析を最適化し続ける方法がたくさんあります.データベースを使った以上、七つの武器の一つとされるデータベースの謎のベールを解き始めよう.
私のプログラムでは、データベースを使用すると、クエリーの戻り時間が大幅に向上し、元の20秒以上から5秒に短縮されましたが、これはまだ十分ではありません.私に与えられた最初の方法は、使用するツールがどんなに強くても、一定の方法、合理的な方法で使用する必要があります.最も時間を消費する場所を見つけて、それを避ける方法を考えたり、早めにしたり、並列にしたり、他の方法を考えたりします.
標準的なsql言語では、基本的ないくつかの文を使用していますが、強力な機能に興味を持っています.他のいくつかの高級な方法について聞いていて、何がネストして検索して、すでに私を躍起にさせて、しかし私はやはり基礎をしっかりと打って、今回私は本を買いたくなくて、ネットの時代、新しい学習方式を試してみてはいけません.
私が使っている文はselect where likeの文で、削除文の作成に基づいています.記憶はまだはっきりしていない.使用するいくつかの特定の方法を記録することができます.
まず、1つのデータベースdbファイルの構造は(sqliteの下、片面、必ずしも正しいとは限らない)、あるデータベースには、データテーブル(table)がたくさんあり、tableにも属性(name、type......)がたくさんあります.tabeにはrecordがあり、recordにはそれぞれカスタム属性があります.このような構造
   
db =》table =》record
次に、dbの2次元構造(必ず多次元の構造が存在し、まだ知られていない)は、テーブルです.
_id
country
region
city
1
china
jiangsu
nanjing
2
unitedkingdom
london
london
3
unitedstates
*
Saint Louis
このテーブルのレコードの属性は_id,country,region,cityなど.ここで説明するのは、データベース内の行columnと列rawの関係です.colは縦で、クエリーの順序です.rawは横で、戻り順です.whereはcolに対して、cursonはrawに対して.
ここでは、いくつかの小さな質問があります.
1,dbの中のすべてのtableを返して、多くの人がこれを聞いて、tableも属性があることを理解すればいいので、nameでもtypeでもxtypeでもクエリーの根拠にすることができます.
私が使っているのは
select name from sqlite_master where type = 'table'

他のデータベースでは、次のような主dbを表す異なる値が使用される場合があります.
select table from sysobject** where xtype = 'u'

uはその中でtableを代表して、紹介を見て、まだ各種データベースのタイプの関係を理解していません.
2、戻り値から重複を削除
解決方法は問題によって異なります.1つは、返されるフィールドのcolが単一または同じであることです.簡単なパラメータdistinctで解決できます.
select [color=red]distinct[/color] name from table_name where ...

もう1つは、返されるアイテムに異なるアイテムがあり、直観的に上下不等区で区切ることができないようで、link??まだ分からない.
3、クエリの戻り値の除外
いくつかの構造を除外するなど、結果をフィルタする場合もあります.
select name from table_name where name [not] like 'mode_matching'

    mode_matchingとはワイルドカードのようなもので、私が見たのは:
'xx%'xx先頭
'%xx'xx末尾
'%xx%'はxxを含む
'_xx'任意文字+xx
'[sc]xx' s or c +xx
'[a-z]xx'aからz+xx
'xx[^s]'xxの後ろはsではありません
遅くなりました.今日はここまでにしましょう.明日はinputstreamとbufferinputstreamとfileinputstreamの関係を作ります.
明日、香港に電子展があります.