MySQLコマンド集
mysqlのよく使うコマンドをまとめてみました。
環境関連
-
文字コードの確認
mysql> show variables like 'chara%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | ujis | | character_set_connection | ujis | | character_set_database | ujis | | character_set_filesystem | binary | | character_set_results | ujis | | character_set_server | ujis | | character_set_system | utf8 | | character_sets_dir | /usr/local/share/mysql/charsets/ | +--------------------------+----------------------------------+ 8 rows in set (0.00 sec)
-
文字化け対策
mysql> set character_set_results=utf8;
データベースをutf8としている場合。
トランザクション関連
-
トランザクションの開始
mysql> start transaction;
-
トランザクションのコミット
mysql> commit;
-
トランザクションのロールバック
mysql> rollback;
-
自動コミットの確認
mysql> show variables like 'autocommit'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | autocommit | ON | +---------------+-------+ 1 row in set (0.00 sec)
ValueがONなら自動コミット中。OFFなら自動コミットされない。
mysql> select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec)
@@autocommitが1なら自動コミット中。0なら自動コミットされない。
-
自動コミットの設定
mysql>> autocommit=0;
セットする値が0なら自動コミット解除。1なら自動コミット化設定となる。この設定は設定したセッションの間だけ持続します。一度セッションを切断すると初期値に戻ります。
データーベース関連
-
データーベース一覧を表示
mysql> show databases;
-
データーベースの切り替え
mysql> use [database-name];
[database-name]部分に、使いたいデータベース名を指定する。
テーブル関連
-
テーブル一覧を表示
mysql> show tables;
-
テーブル構造を表示
mysql> show columns from [table-name];
mysql> desc [table-name];
[table-name]にテーブル名を指定します。
-
テーブル全体をコピー
mysql> create table [new-table] like [source-table]; mysql> insert into [new-table] select * from [souce-table];
[new-table]にコピー先テーブル名を指定。[source-table]にはコピー元のテーブル名を指定します。1行目でテーブル構造を、2行目でデータをコピーしています。1行目の[new-table]には存在しないテーブル名を指定すること。
-
SELECT文を使ったUPDATE
[table-a]には更新される側のテーブル名を、[table-b]には反映させたいデータを持っているテーブル名を指定。mysql> UPDATE [table-a] a LEFT JOIN [table-b] b -> ON a.ID=b.ID -> SET a.content=b.content -> WHERE b.ID>100;
mysql> desc [table-a] +--------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------------+------+-----+---------+----------------+ | ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | content | longtext | NO | | NULL | | +--------------+---------------------+------+-----+---------+----------------+ mysql> desc [table-b] +--------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------------+------+-----+---------+----------------+ | ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | content | longtext | NO | | NULL | | +--------------+---------------------+------+-----+---------+----------------+
広告