SQL

MySQLのDatetime型で秒を切り捨て

MySQLのDatetime型は年月日と時分秒の情報を持っている。検索の際に日時分までで検索したい場合、SQLの中で秒を切り捨てて、where句で扱うTips(普通にdatetime型でイコールで条件指定すると、秒数まで入ってしまうため) select * from hoge where date_for…

MySQLでテーブル単位のバックアップ、リストア

データバックアップ(テーブル単位) mysqldump -u ユーザ名 DB名 -p --default-character-set=binary --tables テーブル名 > 20080722_HOGE.sql データのリストア(テーブル単位) mysql -u ユーザ名 DB名 -p --default-character-set=binary HOGE.sql

MySQL + Sennaで日本語全文検索をやってみた

SQL

以前の記事(MySQLで全文検索できるって!?)で、id:tomyheroさんからMySQLの日本語全文検索は無理だからSennaで出来るよと教えてもらったので、やってみた。基本的に構築系の作業は、自分の作業ログをメモ帳に記入しているんだけど、まとめるのが面倒でブログ…

MySQLで全文検索できるって!?

SQL

全文検索といえばNamazuというぐらいの認識しかなかったんだけど、MySQLでもlikeを使わない全文検索用が出来る仕掛けがあるみたい。 http://dev.mysql.com/doc/refman/5.1/ja/fulltext-boolean.htmlMySQLのMatch関数を使うとこんな記述。下記例は、title、bo…

DB関係の記事を読んだメモ

SQL

Oracleをベースに書いている記事だけど、要点だけメモ。http://itpro.nikkeibp.co.jp/article/COLUMN/20061205/255978/?ST=middleware Where句その優先順位は高い方から,NOT,AND,ORの順になる where A or B and Cは、B and Cしてから orされる。 A or Bを…

Unicodeな文字を使っているエクセルデータを、DBに一括登録する方法

Unicodeにしか対応していない特殊な漢字を含むエクセルファイルがあるとします(レアケース?) これを、DBサーバのUTF8形式のテーブルに一括登録する方法(今回はPostgreSQLで実施。CSVファイルインポート文が違うだけで、MySQLでも他のDBサーバでも対応可能…

SQL色々

最近、SQLを色々と書いてるので、メモ。環境は、CentOS, PostgreSQL8,UTF8。■その1 複数のカラム(hogecol1,hogecol2)から、ある文字列(keyword)が含まれるレコードを抽出する。 select * from tablename where hogecol1 like '%keyword%' or hogecol2 like '…