[DB / MySQL] データベースを扱う基本SQL文一覧とSQL文の書き方

テクノロジー

ここでは、データベースを操作するためのデータベース言語、SQL文の基本的な書き方と、SQL文の一覧について説明する。

基本的なSQL文「INSERT, SELECT, UPDATE, DELETE」の使い方から、データベースとテーブル操作のためのshow databases, create tableなどの使い方も説明する。


MySQLをインストール

MySQLをまだインストールしていない方はこちらから。

MacでMySQLをインストールする

ウェブアプリケーションの開発で、MySQLを使うことになったので、インストールしてみた。 Homebrewをインストール MySQLをインストールするには、Homebrewが必要となる。まずはターミナルで下記のコマンドを ...

続きを見る


データベースに接続

まずはデータベースに接続する。

passwordなし
mysql -u root

passwordあり
mysql -u root -p
  • -u: ユーザーを指定
  • -p: パスワードを使用してログイン

mysql>と確認できれば、OK。


データベースの作成

次に、データベースを作成する。

create database データベース名;

example//
create database hikingtest;

今回は、hikingtestという名前でデータベースを作成。


データベースの一覧を確認

作成後、下記のコマンドで、データベースが作成されているか確認。

show databases;


データベースを削除

dropでデータベースを消す。hikingtestデータベースを消してみる。

drop database データベース名;

使用するデータベースを選択

どのデータベースを使うかを指定する時はuseを使う。

use データベース名;


テーブル操作

次にテーブル操作を行う。


テーブルを作成

CREATE TABLE テーブルの名前;
     カラム1 データ型 オプション,
     カラム2 データ型 オプション,
     カラム3 データ型 オプション,
     カラム4 データ型 オプション
);

実際に下のようなグラフを作ってみる。

CREATE TABLE hikers(
     hikers_id int PRIMARY KEY NOT NULL,    
     name VARCHAR(10),          
     address VARCHAR(40),      
     tel VARCHAR(20)          
);

データベースはhikersを選択しているので、テーブルはhikersデータベースの中に作られる。

テーブルはまだ具体的にはデータが入っていないので、図のように、項目だけできたと考えれば良い。


カラムの名前を設定

カラムは、自分が用意したいデータの種類に応じて作成する。

上のhikersテーブルなら、

  • 登山者ID:id
  • 名前:name
  • 住所:address
  • 電話番号:tel

という形で設定。



データ型の用意

自分の用意したいデータによって、データ型を用意する。

今回であれば

  • 登山者ID:数値を入れるint
  • 名前:文字列を入れる時に使うCHARやVARCHAR

という具合に用意しておく。

//example ( )の中身は最大文字数
name VARCHAR(10)


オプションの用意

オプションによって、より詳細な設定をすることができる。

いくつか例をあげる。

  • unique : 重複する値は入れられない。e-mailとか、アカウント名に使える。
  • default : テーブルにデータを入れる際、値が何も指定されなかった時に、デフォルトで入れる値を決められる。
  • not null : nullを許さない。つまり値の入力を必須にする


テーブルを確認

作成したテーブルや、既存のテーブルが何があるかを確認できる。

show tables;


データ操作

次にデータ操作の命令文を説明する。

SQL文は基本的に四種類の命令文に分けることができる。

命令文は下記の4つ。

  • INSERT : データを挿入する
  • SELECT : データを取得する
  • UPDATE : データを変更する
  • DELETE : データを削除する


テーブルにデータを挿入する

テーブルにデータを入れる時はINSERTを使う。

INSERT INTO テーブル (カラム1, カラム2...) VALUES (データ1, データ2...);


実際に入れてみる。

INSERT INTO hikers
  (hikers_id, name, address, tel)
VALUES 
  (1, "山田太郎", "東京都品川区", "090-1234-5678"),
  (2, "田中花子", "東京都渋谷区", "080-5555-9999"),
  (3, "鈴木新二", "神奈川県横浜市","070-2626-6262"),
  (4, "南雲恵子", "埼玉県川越市", "080-0000-0000");


テーブルからデータを取得する

データを入れたら、テーブルからデータを取得する。

SELECT * FROM テーブル名;


データを一部だけ取得する

データを一部だけ取得することができる。

今回は例として、名前と電話番号だけを取り出してみる。

SELECT カラム名 FROM テーブル名;

//example
SELECT name, tel FROM hikers;


条件をつけてデータを取得

「ID3の人の情報だけ取得」というように条件をつけて情報を取得することもできる。

SELECT * FROM テーブル名 WHERE カラム名 = データ名;

//example
SELECT * FROM hikers WHERE hikers_id = 3;


データを並び替えて取得

//逆順
SELECT * FROM テーブル名 ORDER BY カラム名 DESC;
//そのまま
SELECT * FROM テーブル名 ORDER BY カラム名 ASC;


データを更新する

データを更新する時はUPDATEを使う。

UPDATE テーブル名 SET カラム名 = '○○○○○○' WHERE 条件

//Example
UPDATE hikers SET name = 'アップデート!' WHERE hikers_id = 3;


データを削除する

データを削除する時は、DELETEを使う。

DELETE FROM テーブル名 WHERE 条件

//example
DELETE FROM hikers WHERE hikers_id =3

以上が基本的なSQL文の書き方となる。


全体像を把握する


コンピューターについての全体像も把握しておくと、データベースのさらなる理解に役立つ。


コンピューターサイエンスとITの全体像

ITの進化は早く、新しい言葉がどんどん出てきて、情報に追いつくのが難しく感じてしまう。 もしコンピュータサイエンスやITの内容の基礎だったり全体像を把握しておけば、今後新しいITがどんどん出てきても早く吸収していけるので ...

続きを見る

関連記事

関連トピック

#    #    #