DIAVIS-wiki
  • 追加された行はこの色です。
  • 削除された行はこの色です。
hsqldbの使い方
 
 ----
 #contents
 
 ----
 *テーブルの作成 CREATE [#w66c0f78]
 **sample [#n8d280f3]
  CREATE TABLE TAGS ( ID IDENTITY, KEYWORDS VARCHAR, EVENT_ID INTEGER, DATE TIMESTAMP );
 
 *データの追加 [#n0854623]
 **サンプル [#s9550916]
  INSERT INTO image (URI) values ('JanTschichold.jpg');
 
 *データの更新 [#td402509]
 **サンプル [#q208ee30]
 :画像の追加|INSERT INTO image (URI) values ('JanTschichold.jpg')
 
 *削除 [#z867fef2]
 **サンプル [#c8af8799]
 :画像名の変更|update image set URI = 'LovelaceAda.jpg' where id=4
 :人物の画像IDの変更|update person set image_id = 37 where person_id=86
 
 *テーブルの修正 [#gb65a7c8]
 **コラムの追加 [#p8772f6c]
 ALTER TABLE DIARY ADD LINK VARCHAR
 **コラムの属性修正 [#b862e1e7]
 ALTER TABLE ITEMS ALTER COLUMN GUID VARCHAR
 
 *TIPS [#tec52e14]
 **検索結果の件数を知りたい [#l5113176]
 検索文に以下のようにCOUNT(*)とすると,検索条件によって得られたレコードのカウント結果のみが入ったテーブルが返ってくる.
 なので,そのテーブルの一行目(rs.next()によって1行目にカーソルを移動)の一つ目のカラムから数値を読み取る.
 
 ResultSet rs;
 rs = mSQL.executeSQL("select COUNT(*) from keyword where keyword='" + keyword + "';");
  ResultSet rs;
  rs = mSQL.executeSQL("select COUNT(*) from keyword where keyword='" + keyword + "';");
  int keyword_id = -1;
  try {
  	rs.next();
  	int nResult = rs.getInt(1);
 
 int keyword_id = -1;
 try {
 rs.next();
 int nResult = rs.getInt(1);
 
 
 
 
 *select [#w79d6c24]
 **部分検索 [#q00d31e1]
  select * from person  where database=0 and name like '%Hide%'  order by name
 これだと大文字小文字を区別するので'hide'だと「Hideyoshi」が得られませんでした.
 
 大文字小文字を関係なく検索したい.
 以下のようにUPPER関数を利用して大文字にして,検索文字列のほうもJAVAで大文字にすれば出来そう.
 データベース内のデータは「Hideyoshi」だとした場合.
 
  select * from person  where database=0 and UPPER(name) like '%HIDE%'  order by name
 
 これはだめ
  select * from person  where database=0 and UPPER(name) like '%Hide%'  order by name
 
 ** [#t11f9961]
 :Timestamp format must be yyyy-mm-dd hh:mm:ss.fffffffff|ex. select * from items where date > '2006-11-25 12:00:00.0' order by date desc
 
 *BETWEEN条件 [#je925709]
 値が指定した2つの値の間にあるか否かを比較.
 
  SELECT * FROM Orders WHERE CustomerID = 'QUICK' AND OrderDate BETWEEN '1996/1/1' AND '1997/12/31' 
 
 ex. select * from items where date BETWEEN '2006-11-25 12:00:00.0' AND '2006-11-25 15:00:00.0' order by date desc
 
 *参考 [#yc591cf8]
 :@IT 連載:SQL実践講座(1)|http://www.atmarkit.co.jp/fnetwork/rensai/sql01/sql1.html#4
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS