基礎からMySQLの基礎を学びます。その3
DB作成を作成しよう
DB作成→テーブル作成→データ挿入→データ確認の流れで学んでいきます。
DB作成
DB作成には、下記のコマンドを使用します。
CREATE DATABASE データベース名; //デリミタを忘れずに
実行してみます。
mysql> CREATE DATABASE db1; Query OK, 1 row affected (0.03 sec) //クエリはOK!一行変わったよ。0.03秒かかったよ。
「Query OK」が表示されたので、DBの作成が無事完了したみたいです。
注意点
SQLのコマンドは、半角文字で入力します。全角文字が入るとエラーになるので注意が必要です。
大文字・小文字は区別しないので、「CREATE DATABASE」でも「Create Database」でも同じコマンドです。
また、DB名やテーブル名は、WindowsとLinuxでは扱いが異なるので注意。Linuxでは大文字、小文字は区別するので、「tb1」と「TB1」は別物になります。
DBの確認
現在存在するDB名を表示するときは、下記のコマンドを実行します。
SHOW DATABASES;
実行してみます。
mysql> show databases;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Database |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
information_schema |
cdcol |
db1 |
mysql |
performance_schema |
phpmyadmin |
test |
webauth |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
先ほど作成したdb1が存在することが確認できました。
使うDBを指定する
MySQLでは、起動してすぐDBが使えるわけではなく、必ず「何のDBを使用するのか」を明示的に宣言する必要があります。
RDBMSによっては、モニタのようなプログラムを起動するときに、一緒にDBを指定しないとダメ!!というものもあるみたいですが、MySQLではいつ宣言しても大丈夫です。
USE データベース名 //「;」は付けない。USEはSQL文ではないから。
実行してみます。
mysql> use db1 Database changed
使用するDBをdb1に指定しました。
現在使用しているデータベースの表示
SELECT DATABASE();
実行結果
mysql> select database();
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
database() |
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
db1 |
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
デーブル「tb1」を作ります
db1は空っぽの状態なので、テーブルを作成し、データを挿入していきます。
データ型
カラム(列)に保管するデータの種類をデータ型をいいます。
INTは1,2,3・・・のような整数のデータを保管できることを意味します。
VARCHARは、文字データを保管できます。
「VARCHAR(10)」と書くと、「10個までの文字が入力できる」という意味になります。
テーブル作成
ここでは、3つのカラム(列)と、「データ型」を持つテーブルを作成していきます。
テーブル「tb1」
内容 | 社員番号 | 氏名 | 年齢 |
カラム名(列名) | bang | name | tosi |
データ型 | VARCHAR(10) | VARCHAR(10) | INT |
では、実際に作成していきます。
db1を使用している状態で実行。
mysql> create table tb1(bang VARCHAR(10), name VARCHAR(10), tosi INT); Query OK, 0 rows affected (0.15 sec)
テーブルを作成しました。
全てのテーブルを表示する
SHOW TABLES;
実行結果
mysql> show tables;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tables_in_db1 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
tb1 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
確認できました。
テーブルのカラム構造を確認する
DECS テーブル名;
実行。
mysql> desc tb1;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Field | Type | Null | Key | Default | Extra |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bang | varchar(10) | YES | NULL | ||
name | varchar(10) | YES | NULL | ||
tosi | int(11) | YES | NULL |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
tb1の構造が表示されました。
「Field」がカラム名、「Type」がデータ型を示します。
テーブルにデータを挿入する
続いて、データを追加していきます。
INSERT INTO テーブル名 VALUES(データ1、データ2...)
カラムbangに入れる値 | nameに入れる値 | tosiに入れる値 |
A101 | 佐藤 | 40 |
A102 | 高橋 | 28 |
A103 | 中川 | 20 |
A104 | 渡辺 | 23 |
A105 | 西沢 | 35 |
こんな感じの5件分のデータを挿入します。1件分のデータを「レコード」といいます。|A101|佐藤|40|がレコード。
また、文字列は「""」(ダブルクォーテーション)、または「''」(シングルクォーテーション)で囲みます。
お好みで。個人的には「""」を使用していきます。
では、実行してみます。
mysql> insert into tb1 values("A101","佐藤",40); Query OK, 1 row affected (0.13 sec)
「tb1」のカラムそれぞれに、データが挿入されました。
2、3件目も同様に追加してみます。
mysql> insert into tb1 values("A102","高橋",28); Query OK, 1 row affected (0.05 sec) mysql> insert into tb1 values("A103","中川",20); Query OK, 1 row affected (0.06 sec)
4、5件目は別の方法で挿入します。
実行。
mysql> insert into tb1 (tosi,name,bang) values(23,"渡辺","A104"); //ここでは順番を変えて挿入します Query OK, 1 row affected (0.04 sec) mysql> insert into tb1 (tosi,name,bang) values("A105","西沢",35); Query OK, 1 row affected, 1 warning (0.03 sec)
データを表示する
カラムのデータを表示させるには、「SELECT」コマンドを使います。
実行してみます。
mysql> select bang, name from tb1;
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
bang | name |
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
A101 | 佐藤 |
A102 | 高橋 |
A103 | 中川 |
A104 | 渡辺 |
35 | 西沢 |
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
テーブル「tb1」のカラム「bang」と「name」が表示されました。イイネ!
ただ、いちいちカラム名を指定するのはメンドクサイですよね。
そんなときは、「全部」を意味する「*」(アスタリスク)を指定しましょう。
mysql> select * from tb1;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bang | name | tosi |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A101 | 佐藤 | 40 |
A102 | 高橋 | 28 |
A103 | 中川 | 20 |
A104 | 渡辺 | 23 |
35 | 西沢 | 0 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
全部のカラムのデータが表示されました。
「SELECT」で指定した値を出力する
たとえば、
mysql> select "テスト";
- +
テスト
- +
テスト
- +
1 row in set (0.00 sec)
これは、単純な関数の値や計算の結果を確認するときに便利です。
また、「SELECT」はMySQL以外のRDBMSでも必ず使え、どんな貴重なテーブルで実行しても、決してデータが壊れることがありません。
まとめ
つかれました(´・_・`)