プログラミング PR

【MySOL】基本的なコマンドまとめました

MySQLのよく使用するコマンドをまとめました。

確認用なので、説明は少な目。

参考サイトリンク

データベース操作

データベースに接続

mysql -u [ユーザー名] -p

実行後にパスワードを入力

データベース一覧の表示

SHOW DATABASES;

データベースの作成

CREATE DATABASE [データベース名];

データベースの削除

DROP DATABASE [データベース名];

テーブル操作

テーブルの作成

CREATE TABLE [テーブル名] (
    column1 [データ型] [その他オプション],
    column2 [データ型] [その他オプション],
    column3 [データ型] [その他オプション],
);

オプションの例

  • not null : 入力必須
  • primary key : プライマリーキーとして設定

CREATE TABLE文を確認

SHOW CREATE TABLE [テーブル名];

指定したテーブルを作成する際のCREATE文を表示する。

テーブルの列名やデータ型を確認する場合に使用。

行の挿入

INSERT INTO [テーブル名] ([列名1], [列名2], ...) VALUES([値1], [値2], ...);

全ての列のデータを挿入する場合は、列名の部分を省略可能

複数行の挿入

INSERT INTO [テーブル名] ([列名1], [列名2], ...) VALUES([値1], [値2], ...), ([値1'], [値2'], ...);

値の更新

UPDATE  [テーブル名] SET  [列名1] = [値1], [列名2] = [値2], ... WHERE  [条件];

複数行の値の更新

UPDATE [テーブル名] SET
    ->     [列名1] = CASE [key列名]
    ->         WHEN [key1] THEN [値1]
    ->         WHEN  [key2] THEN [値2]
    ->         ...
    ->     END,
    ->     [列名2]= CASE [key列名]
    ->         WHEN [key1] THEN [値1]
    ->         WHEN  [key2] THEN [値2]
    ->         ...
    ->     END
    ->         ...
    -> WHERE [key列名] IN([key1], [key2],...);

別解 : MySQLで複数行を一括更新するクエリの実装方法

列ごとに挿入する値が同じ場合は、ケース分け不要で以下のように記述できる。

UPDATE [テーブル名] SET
    ->     [列名1] = [値1],
    ->     [列名2]= [値2],
    ->         ...
    -> WHERE [key列名] IN([key1], [key2],...);

テーブル名の変更

RENAME TABLE [テーブル名] TO [新しいテーブル名];

列の追加

ALTER TABLE [テーブル名] ADD [新規列名] [データ型] [その他オプション];
  • 先頭に追加 : 最後に「FIRST」
  • 特定の位置に追加 : 最後に「AFTER [列名]」

列名の変更

ALTER TABLE [テーブル名] CHANGE COLUMN [既存列名] [新しい列名] [データ型] [その他オプション]; 

列の削除

ALTER TABLE [テーブル名] DROP COLUMN [列名];

行の削除

DELETE FROM [テーブル名] WHERE [条件];

テーブルの削除

DROP TABLE  [テーブル名];

Primary keyの設定

ALTER TABLE [テーブル名] ADD PRIMARY KEY ([列名]);

データ取得

全データの取得

SELECT * FROM [テーブル名];

取得する行数を指定

SELECT * FROM [テーブル名] LIMIT [取得する行数];

行の取得

SELECT * FROM [テーブル名] WHERE [条件];

1行抽出の場合、条件はプライマリーキーで指定するのがベター。