meideru blog

meideruが書いているブログです。主に電子工作・プログラミング・ガジェット類などを中心に記事を書いています。

最低限知っておきたいSQLの基本操作一覧

      2017/05/07

今は、SQLを勉強中です。

SQLとは、RDBMS(データベース)を操作するための言語です。

今日は、私の備忘録も兼ねて基本操作をこの記事に書きたいと思います。

ユーザに関して

ユーザ関連の操作は、rootでRDBMSにログインする必要があります。

ユーザの作り方

ユーザを作るには、create user を使用します。

上のサンプルコードでは、sample_user というユーザを作っています。

ユーザのパスワードの設定方法

ユーザのパスワードを設定するには、set password を使用します。

上のサンプルコードでは、sample_user というユーザに sample_password というパスワードを設定しています。

ユーザのホスト名を設定

ユーザのホスト名を設定するには、rename user を使用します。

上のコードではsample_user のホスト名を localhost に設定しています。

いくつか注意点があります。まずユーザ名とホスト名は’ ‘ で括ります。@ は ‘ ‘ で括ってはいけません。

初期状態では、ユーザのホスト名は%となっています。これは、任意のホスト名で接続できるという意味です。

ユーザの一覧表示

ユーザ一覧を表示するときは、mysqlデータベースのuserテーブルから抽出して表示します。

パスワードは暗号化されて表示されます。

ユーザの削除

ユーザを削除するときは、drop を使用します。

上のコードは、sample_user を削除しています。

特定のユーザでのログイン方法

特定のユーザでのログインをするときは、オプションで-u, -p を使用します。

-u の後に ユーザ名を付け加えます。

ホスト名を指定してログインする方法もあります。「-h (ホスト名)」を加えてログインします。特に指定がなければ、localhostでログインされます。

データベース・テーブルに関して

データベースの作り方

データベースを作るには、create database を使用します。

上のコードでは、sample_database というデータベースを作成しています。

データベースの一覧表示

データベースを一覧表示するには、show databases を使用します。

これで、一覧が表示されます。

データベースを使用する方法

データベースを使用する(切り替える)には、use を使用します。

コードを入力した後は、[ ] の中身が sample_database になっていることがわかります。これは今、sample_database を使用しているという意味です。

テーブルの作り方

テーブルを作るときは、親となるデータベースを選択していなければなりません。

テーブルを作成するには、create tableを使用します。なお、列を決定する必要があります。

上のコードでは、id、ラストネーム、ファーストネーム、年齢を列としてテーブルを作成しています。

型や主キーなど細かいことについては、この場での説明はしません^^;

テーブルを一覧表示する方法

テーブルを一覧表示するには、show tables を使用します。

テーブルの列を表示する方法

テーブルの列を表示するには、show clumns を使用します。

上のコードでは、sample_database の sample_table の列を一覧表示しています。

権限について

権限をユーザに付与する方法

権限をユーザに付与するには、grant を使用します。

使い方は以下です。

実際に使ってみましょう。

上のコードでは、sample_user に sample_database の sample_table に関して、全て(all)の権限を与えています。

権限に関しては、allの他に、以下のようなものがあります。

コマンド 内容
all 権限の操作を除いた全ての権限を付与する
create テーブルの作成を可能にする
create user ユーザの作成や削除などを可能にする
delete テーブル内のデータの削除を可能にする
drop テーブルの削除を可能にする
select テーブルからデータの取り出しを可能にする
show databases データベースの一覧表示を許可する
update データの書き換えを可能にする
grant option ユーザへの権限操作を可能にする

ユーザの権限の確認する方法

ユーザの権限を確認するには、show grants を使用します。

上のコードは、かなり形が崩れいていると思いますが(T_T)

とりあえず、権限の確認はできています。

ユーザの権限を削除する方法

権限を削除するには、revoke を使用します。

権限を反映する方法

権限を反映するには、flush privileges を使用します。

なお、権限を反映する必要があるときは、スキーマのテーブルを直接編集したときなので、grant で権限を付与したときは flush privileges を使用する必要はありません。

 - Linux