Archive for 11月 13th, 2014
MySQL) 指定したカラムのすべてのデータの指定の文字列を指定の文字列で置換
mysql> update wp_2013kposts set `post_title` = replace(`post_title`, “\n”, “”);
replace(`post_title`, “\n”, “”)の部分は「replace(`指定カラム名`, “置換する対象の文字列”, “置換の文字列”)
WordPressのデータですが、エクスポートしたデータのタイトル部分で文字列が途切れているものが多々ありました。調べたところタイトルの入るカラムの文字列に改行コードが混入していることがわかったので、この方法で一括処理の修正をしました。
「\n」は、UNIX環境での改行になります。プログラム的に使えないというか通用しない場面もたまにありますが、MySQLではそのまま使えました。vimなんかもそうだったように思います。
参考:
FutureGadget – メモ:Vimの文字コード変換と改行コード http://www.futuregadget.com/?p=34
MySQL) クエリーの結果をcsyファイルとしてエクスポート
mysql> SELECT `wp_2013kposts`.`ID` AS `ID`, `wp_2013kposts`.`post_title` AS `post_title`, `wp_2013kposts`.`post_date` AS `post_date` FROM `hirono-hideki-01_2013k`.`wp_2013kposts` `wp_2013kposts` WHERE `post_status` = ‘publish’ INTO OUTFILE “/tmp/sqldata.csv” FIELDS TERMINATED BY ‘,’;
取得しているカラムは3つだけです。IDとタイトル、投稿日時です。
UNIX環境(Ubuntu 14.04)なので/tmpディレクトリにcsvファイルを保存していますが、他の場所だとパーミッション(アクセス権限)でエラーが出ていました。一般ユーザの権限だとファイルの削除も移動も出来なかったので、sudoコマンドで管理者権限でコマンドを実行しました。
MySQLはコマンドラインからMySQLサーバにログインして操作しています。
表計算ソフトcalc) データの相対参照と絶対参照を利用してURLリンクを埋め込む
=HYPERLINK(CONCATENATE($H$1, A1))
URLリンクと言ってもcalcの場合、Ctrlキーを押しながらのリンクのクリックになります。
WordPressのブログのURLに使っていますが、データベースのIDカラムの値は、そのままリクエストパラメータとして利用できます(例: http://登録ユーザ名.sakura.ne.jp/wp2013k/?p=7543)。なお、このIDはxmlrpcを使ったAPIの投稿でも関数の返却値として得ることの出来る値です。
参考情報:
セルの絶対参照と相対参照 – LibreOffice Help https://help.libreoffice.org/Calc/Addresses_and_References,_Absolute_and_Relative/ja
HYPERLINK http://nanapi.jp/51392/