MySQL

提供: Wikinote
2011年5月14日 (土) 14:44時点におけるHagio (トーク | 投稿記録)による版

移動: 案内検索

覚え書き

接続

mysql コマンドで接続する。

# mysql -u root -p [database]

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| pt2_db             | 
| test               | 
| wikidb             | 
+--------------------+
5 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 条件式