データベースって自分で触れるようになるとめちゃめちゃ便利ですよね。
最近では、自分一日のスケジュールをわざわざMYSQLで書き込んで、
TODO管理なんかも。すごい非効率を楽しんでます(笑)
最初はSQLに慣れるのが目的だったけど、
データベースってシステムの真髄みたいな気がして楽しいですね。
けど、あれってどうやるんだっけとチョチョイ忘れることが多いので、
このページにSQL文をメモ書きとして記録していこうと思います。
裏技でもなんでもありませんので、悪しからず。(>人<;)
DELETE
DELETEをするときは、慎重にしないといけない。
そもそもデータを削除するという行為自体が宜しくないので、
基本的にフラッグ項目をつけて、
非表示・停止するようなデータにするべきだろう。
消してしまったら、2度と元に戻せない。。。。
# 行を削除する('m'から始まる行を削除する)
DELETE FROM `table_name` WHERE `column_name` LINK 'm%';
REPLACE INTO
開発途中でデータを2度INSERTしてしまたり、
UPDATEしようにもデータがまだなかったりする。
そんなときに便利なのが、REPLACE INTO 文だ。
# INSERTとUPDATEを同時にやる
REPLACE INTO `table_name` ( `id`, `column_name`) VALUES ( 10, 'New Name');
データを一括置換する
UPDATE `table_name` SET `column_name` = REPLACE(`column_name`, '検索したい文字列', '置換したい文字列');
テーブルを丸ごとコピーする
データを操作するときは、操作するテーブルのコピーを作っておくことが懸命でしょう。
うっかり必要なデータを書き換えてしまったら、大変です。
# 構造が同じテーブルを作成する
CREATE TABEL copy_table_name LIKE table_name;
# データを丸ごとインサートする
INSERT INTO copy_table_name SELECT * FROM table_name;
# データを選別してインサートする(`column_name`が'm'から始まるものを抜き出す)
INSERT INTO copy_table_name SELECT * FROM table_name where `column_name` LIKE 'm%';