はじめに
この記事では、MySQLでもっとも一般的な操作についてのチートシートを提供します。
MySQLへの接続
MySQLを使用するためには、まずMySQLサーバーに接続する必要があります。もっともシンプルな形式では、次のコマンドを使用してMySQLサーバーに接続できます。
$ mysql -u <user> -p
ここで<user>
はMySQLのために設定したユーザー名です。-p
フラグはユーザーに関連付けられたパスワードを入力するように促します。
特定のデータベースへの接続
特定のデータベース(<db_name>
)に直接接続したい場合は、次のコマンドを使用します。
$ mysql -u <user> -p <db_name>
データベース名(<db_name>
)はオプションのパラメータです。提供された場合、そのデータベースに直接接続されます。
リモート接続
リモートのMySQLサーバーに接続する必要がある場合は、-h
フラグと-P
フラグを使用してホストとポートを指定します。
$ mysql -h <host> -P <port> -u <user> -p
ここで<host>
はMySQLサーバーのホスト名またはIPアドレスを表し、<port>
はMySQLサーバーがリッスンしているポート番号です。
特定のデータベースを持つリモート接続
同様に、次のコマンドを使用してリモートのMySQLサーバーに接続し、特定のデータベースに直接接続することができます。
$ mysql -h <host> -u <user> -p <db_name>
データベース操作
MySQLサーバーに接続したら、データベース上でさまざまな操作を行うことができます。これらの操作には、データベースの作成、利用可能な全てのデータベースの一覧表示、特定のデータベースへの切り替えや接続などが含まれます。
データベースの作成
MySQLで新しいデータベースを作成するには、CREATE DATABASE``ステートメントの後にデータベースの名前を指定します。例えば、
db`という名前のデータベースを作成するには、次のコマンドを使用します。
CREATE DATABASE db;
このコマンドを実行すると、db
という名前の新しいデータベースが作成されます。
全てのデータベースの一覧表示
MySQLサーバー上で利用可能な全てのデータベースの一覧を表示するには、SHOW DATABASES;
コマンドを使用します。
SHOW DATABASES;
これにより、現在ログインしているユーザーが閲覧権限を持つ全てのデータベースのリストが返されます。
特定のデータベースに切り替える
特定のデータベースに切り替えるには、USE
ステートメントを使用し、データベースの名前を指定します。例えば、db
という名前のデータベースに切り替えるには、次のコマンドを使用します。
USE db;
このコマンドにより、コンテキストがdb
データベースに切り替わります。以降のコマンドはこのデータベースに対して実行され、別のデータベースに切り替えるか接続を終了するまで、このデータベースに対して実行されます。
特定のデータベースへの接続
特定のデータベースに接続する場合は、CONNECT
ステートメントを使用します。
CONNECT db;
CONNECT
ステートメントはUSE
ステートメントと似ていますが、主な違いは、CONNECT
ステートメントは指定されたデータベースに対するユーザーの権限もチェックする点です。
テーブル操作
適切なデータベースに切り替えた後、そのデータベース内のテーブルに対してさまざまな操作を行うことができます。これらの操作には、全てのテーブルの一覧表示、特定のテーブルのフィールドの表示、テーブルの構造の表示などが含まれます。
現在のデータベースのテーブル一覧表示
現在選択されているデータベースの全てのテーブルを一覧表示するには、SHOW TABLES;
コマンドを使用します。
SHOW TABLES;
このコマンドは、現在のデータベース内の全てのテーブルのリストを返します。
テーブルのフィールド一覧表示
特定のテーブルのフィールド(またはカラム)を表示するには、SHOW FIELDS FROM
コマンドの後にテーブルの名前を指定します。例えば、t
という名前のテーブルのフィールドを表示するには、次のコマンドを使用します。
SHOW FIELDS FROM t;
これにより、指定したテーブルの全てのフィールド、その型、およびその他のプロパティのリストが表示されます。
テーブルの構造の表示
テーブルの構造、フィールド、型、その他の詳細を確認する必要がある場合は、DESC
(DESCRIBEの略)コマンドを使用します。
DESC t;
このコマンドは、t
テーブルの構造を、列名、データ型、NULL
が許可されるかどうか、デフォルト値などを含めて返します。これはテーブルの構造と制約を迅速に理解するための貴重なツールです。