データベース・プログラミング - SQL - Part1

目的

以下のdepartmentテーブルを作成します。

+----+-----------------+
| id | name            |
+----+-----------------+
|  1 | Development     |
|  2 | Sales           |
|  3 | Accounting      |
|  4 | Legal           |
|  5 | Human Resources |
+----+-----------------+

データベースの作成

create database my_company;

データベース一覧の確認

show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_company         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

データベースの接続

use my_company;

テーブルの作成

create table department(
  id int primary key,
  name varchar(100)
);
  • テーブルの中にid列、name列を定義しています。
  • id列は整数型(int型)、name列は可変長文字列型(varchar(100))です。
  • id列は主キー(primary key)としています。

テーブル一覧の確認

show tables;
+----------------------+
| Tables_in_my_company |
+----------------------+
| department           |
+----------------------+

テーブル定義の確認

desc department;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | NO   | PRI | NULL    |       |
| name  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+

レコードの作成

insert into department(id, name) values(1, 'Development');
insert into department(id, name) values(2, 'Sales');
insert into department(id, name) values(3, 'Accounting');
insert into department(id, name) values(4, 'Legal');
insert into department(id, name) values(5, 'Human Resources');
  • insert intoの後に、登録対象のテーブル名(列名)を指定します。
  • values()の中に登録するデータを並べます。
  • 文字列型データは''で囲む必要があります。

レコードの表示

select * from department;
+----+-----------------+
| id | name            |
+----+-----------------+
|  1 | Development     |
|  2 | Sales           |
|  3 | Accounting      |
|  4 | Legal           |
|  5 | Human Resources |
+----+-----------------+
  • selectの後に取得する列名を記述します。
  • *はすべての列を意味します。
  • fromの後に対象となるテーブル名を記述します。

レコードの更新

update department set name = 'HR' where id = 5;
  • updateの後に対象となるテーブル名を記述します。
  • setの後に更新する項目とデータを記述します。
  • whereの後に更新条件を指定します。

レコードの削除

delete from department where id = 5;
  • fromの後に対象となるテーブル名を記述します。
  • whereの後に削除条件を指定します。
  • deleteの後に列の指定は不要です。

参考:テーブルの削除

drop table department;