0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MYSQL SQLチュートリアル データベースの作成

Last updated at Posted at 2022-05-23

SQLとは

SQLは国際標準化機関であるISOから標準化されている。
MySQLもSQLへの準拠度を高めつつありますが独特の方言を持つ部分がある。

思ったこと

その違いをわかるようになる。

データベースオブジェクトの生成と破棄

・データベースの作成
・テーブルの作成
・インデックスの作成?
・ストアドルーチンの作成???

思ったこと

ストアドルーチンの作成はちょっと分からないがまあ次に進めよう。

データベースの作成CREATE DATABASE

・データベースの作成
・データベースの削除
・データベースのデフォルト指定設定を変更
これが基本動作です。

データベースの作成

データベース作成するにはCREATE DATABASEを使う。
データベースを作成する際には必ず必要となる。
作成する場合は文字コードや照合順序、暗号化の情報などを指定できます。
MySQLの場合データベースのことをスキーマという。
なのでコマンドのCREATE DATABASE,CREATE SCHEMAは同じ意味になる。
またデータベース名に同じものがあってはならないために既存の場合はエラーが発生する
IF NOT EXISTSをつけるとデータベース名は既存の場合は何もせずに終了するようになる。

mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
+---------------------------+
8 rows in set (0.01 sec)

mysql> CREATE DATABASE train_development
    -> ;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
| train_development         |
+---------------------------+
9 rows in set (0.00 sec)

train_developmentが作成された。成功!
同じデータベース名で作成してみると...

mysql> CREATE DATABASE train_development;
ERROR 1007 (HY000): Can't create database 'train_development'; database exists

既に存在していることがメッセージとして表示された。

mysql> CREATE DATABASE IF NOT EXISTS train_development;
Query OK, 1 row affected, 1 warning (0.00 sec)

多分これがエラーメッセージが表示されず終了

mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
| train_development         |
+---------------------------+
9 rows in set (0.00 sec)

データベースの削除

DROP DATABASEで削除できる。

mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
| train_development         |
+---------------------------+
9 rows in set (0.00 sec)

mysql> DROP DATABASE train_development
    -> ;
Query OK, 0 rows affected (0.01 sec)
mysql> show databases;
+---------------------------+
| Database                  |
+---------------------------+
| garden_development        |
| garden_review_development |
| garden_review_test        |
| garden_test               |
| information_schema        |
| mysql                     |
| performance_schema        |
| sys                       |
+---------------------------+
8 rows in set (0.00 sec)

確かに削除されている。成功!

mysql> DROP DATABASE train_development;
ERROR 1008 (HY000): Can't drop database 'train_development'; database doesn't exist

同名の削除はエラーを起こす。

mysql> DROP DATABASE IF EXISTS train_development;
Query OK, 0 rows affected, 1 warning (0.00 sec)

これもIF NOT EXISTSを使うとエラーメッセージが表示されない。

データベースの既存データベースのデフォルト指定内容を変更する

ALTER DATABASEを使い変更する。
今はちょっと難しそう
変更内容は
文字コード
照合順序
暗号化の情報
を変更できる。
もしかしたらこれ以外も変更できるかもしれない(今はここまで)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?