「MySQL」の版間の差分
提供: Wikinote
細 (→SQL) |
(→覚え書き) |
||
行5: | 行5: | ||
mysql コマンドで接続する。 | mysql コマンドで接続する。 | ||
− | # mysql -u | + | # mysql -u user -p [database] |
mysql> show databases; | mysql> show databases; | ||
行57: | 行57: | ||
データベース全体をチェックする場合は、mysqlcheck コマンドが使える。 | データベース全体をチェックする場合は、mysqlcheck コマンドが使える。 | ||
− | # mysqlcheck -u | + | # mysqlcheck -u user -p wikidb |
Enter password: | Enter password: | ||
wikidb.archive OK | wikidb.archive OK | ||
行65: | 行65: | ||
wikidb.filearchive OK | wikidb.filearchive OK | ||
... | ... | ||
+ | |||
+ | === テーブルの最適化 === | ||
+ | |||
+ | データベースの更新? が重くなってきたら実行してみる価値はあるかも。 | ||
+ | うちの環境では明らかに CPU 使用率が低下する。 | ||
+ | |||
+ | # mysqlcheck -o -u user -p pt2_db | ||
+ | Enter password: | ||
+ | pt2_db.Recorder_categoryTbl Table is already up to date | ||
+ | pt2_db.Recorder_channelTbl Table is already up to date | ||
+ | pt2_db.Recorder_keywordTbl OK | ||
+ | pt2_db.Recorder_logTbl OK | ||
+ | pt2_db.Recorder_programTbl OK | ||
+ | pt2_db.Recorder_reserveTbl OK | ||
=== SQL === | === SQL === |
2012年3月1日 (木) 22:24時点における最新版
覚え書き
接続
mysql コマンドで接続する。
# mysql -u user -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 user -p wikidb Enter password: wikidb.archive OK wikidb.category OK wikidb.categorylinks OK wikidb.externallinks OK wikidb.filearchive OK ...
テーブルの最適化
データベースの更新? が重くなってきたら実行してみる価値はあるかも。 うちの環境では明らかに CPU 使用率が低下する。
# mysqlcheck -o -u user -p pt2_db Enter password: pt2_db.Recorder_categoryTbl Table is already up to date pt2_db.Recorder_channelTbl Table is already up to date pt2_db.Recorder_keywordTbl OK pt2_db.Recorder_logTbl OK pt2_db.Recorder_programTbl OK pt2_db.Recorder_reserveTbl OK
SQL
ソフ開に合格した時は覚えてたんだが、使わないとやはり忘れてしまうなぁ。
データを抽出
SELECT 列名 FROM テーブル名 WHERE 条件式
レコードを削除
DELETE FROM テーブル名 WHERE 条件式
レコードを更新
UPDATE テーブル名 SET 列名 = 値 WHERE 条件式