archive

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


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

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

MySQLをインストール

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

[st-card myclass="" id=1845 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]

データベースに接続

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

`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文の書き方となる。

全体像を把握する

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

[st-card myclass="" id=4587 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]