MySQL
提供: Wikinote
覚え書き
接続
mysql コマンドで接続する。
# mysql -u root -p [database] mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | pt2_db | | test | | wikidb | +--------------------+ 5 rows in set (0.00 sec) mysql> use pt2_db Database changed mysql> show tables; +----------------------+ | Tables_in_pt2_db | +----------------------+ | Recorder_categoryTbl | | Recorder_channelTbl | | Recorder_keywordTbl | | Recorder_logTbl | | Recorder_programTbl | | Recorder_reserveTbl | +----------------------+ 6 rows in set (0.00 sec)
テーブルのチェックと修復
某 PHP アプリが正常に動作しないと思ったら、データベースのテーブルが破損していた。
mysql> check table Recorder_programTbl; +----------------------------+-------+----------+----------------------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +----------------------------+-------+----------+----------------------------------------------------------------------------------+ | pt2_db.Recorder_programTbl | check | error | Table './pt2_db/Recorder_programTbl' is marked as crashed and should be repaired | +----------------------------+-------+----------+----------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
以下のコマンドで修復できる。
mysql> repair table Recorder_programTbl; +----------------------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +----------------------------+--------+----------+----------+ | pt2_db.Recorder_programTbl | repair | status | OK | +----------------------------+--------+----------+----------+ 1 row in set (1.24 sec)
データベース全体をチェックする場合は、mysqlcheck コマンドが使える。
# mysqlcheck -u root -p wikidb Enter password: wikidb.archive OK wikidb.category OK wikidb.categorylinks OK wikidb.externallinks OK wikidb.filearchive OK ...
SQL
ソフ開に合格した時は覚えてたんだが、使わないとやはり忘れてしまうなぁ。
データを抽出
SELECT 列名 FROM テーブル名 WHERE 条件式
レコードを削除
DELETE FROM テーブル名 WHERE 条件式