LoginSignup
0
0

More than 3 years have passed since last update.

SQL ~データベースの操作1~

Last updated at Posted at 2021-03-01

初学者です。SQLの理解が浅いため纏めていきます。

  • MySQL
  • Ruby on Rails

はじめに

ここではSQLというDBを操作する言語について記述します。
中でもDDL(データベース定義)についてです。

SQLって何?DDLって?というかたに向けたものです!

今までは、ターミナル上で"rails db:create"コマンドなどを使って、Sequel Proを使ったデータの書き換えを行っていました。
実はこの動きも、最終的にはSQLが実行されているんです!

上記のような簡単な操作であれば、SQLを直接使用せずとも「特定のコマンド」や「GUI操作」で実行できます。

でも、「簡単な操作」が用意されていないものも存在し、その処理を行うにはSQLを使う必要が出てくるのです!

プログラミング言語の学習も必要ですが、こちらのSQLも、開発業務では必須となる知識です。
かんばって学習していきましょう!

SQLとは?(ちょっと復習)

SQL(エス・キュー・エル/シークェル)とは「Structured Query Language」の略で、RDBの操作を行うための言語です。

SQLはデータベースやテーブルに対してさまざまな命令を行います。命令は大きく分けると、以下の三つに分類されます。

  • データ定義 「DDL(Data Definition Language)」
  • データ操作 「DML(Data Manipulation Language)」
  • データ制御 「DCL (Data Control Language)」

今回はデータ定義のDDLを掘り下げていきます。

「データベース操作したいならDMLじゃないの?」と私は思ってしまいましたが、そうです。違います。
その理由も含め、説明していきます。

DDL

データを定義するSQLです。以下のような作成、更新、削除などの命令分があります!

命令 機能
CREATE データベースやテーブルの作成
ALTER データベースやテーブルの更新
DROP データベースやテーブルの削除

「データの定義って言いながらめっちゃ普通に操作してるーー!」と最初思いました。笑

SQLの使用

SQLってどうやって動かすの?

初学者の自分は、SQLの起動方法から分からなかったので、そこから書いていきますね。

1.ターミナルのホームディレクトリで、MySQLにログインする。

# ホームディレクトリへ
% cd

# MySQLに接続
% mysql -u root

-u rootというオプションで、ユーザーは「ルート」でログインするという意味になります!
(ここの「ルート」とはMySQLであらかじめ用意されてるユーザーのことなので注意してください。)

ちなみにログインにパスワードは必要ないです!(元から空で設定されているため)

接続が成功すると、以下のような歓迎の言葉がもらえます。

% mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 428
Server version: 5.6.47 Homebrew

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

一番最下層にあるmysql>に入力をしていきます!

データベースの作成

SQLを使って、データベースを作成してみます。ここからの作業はターミナルを使用して行います。

今までRailsではrails db:createコマンドを実行することでRuby on Railsがデータベースを作成してくれました。
今回はSQLを使って見ましょう!

CREATE

CREATEは、データベースやテーブルを作成できるSQLの分です。
CREATE DATABASE文を実行すると、指定した名前のデータベースが作成できます!

※SQL文の終わりには必ずセミコロンを付けます。
忘れて実行した場合、SQLがまだ続くものだとみなし、矢印マーク -> が表示されます!
=その場合はセミコロンだけを入力してエンターを押せば大丈夫です!

musql> CREATE DATABASE 任意のデータベース名;

以下のような表示であれば成功です!

musql> CREATE DATABASE 任意のデータベース名;
Query OK, 1 row affected (0.00 sec)

ここで一つ気になりました。
参考書などを見ていると、「SQL文って大文字じゃなきゃいけないの?」と。
答えはNOです!小文字でも動作しました!
「じゃあ、なんでわざわざ!」と思い調べたところ、
SQL文と他の文字列が混ざると読み辛くなることから、大文字で記述することが一般的だそうです。

はい、確かにそうです。そんなこと考える暇があるなら先に進みましょう。笑

では次に作ったデータベースがちゃんとできたか確認しましょう!

SHOW

SHOWはデータベースやテーブルを一覧表示できるSQL文です。以下のコマンドを実行して見てみましょう!

mysql> SHOW DATABASES;

このようにテーブルが一覧表示できたら成功です!

mysql> SHOW DATABASES;
+------------------------+
| Database               |
+------------------------+
| 省略                    |       
|                        |
+------------------------+
36 rows in set (0.00 sec)

DROP

データベースやテーブルの削除に使うSQL文です。
DROP DATABASE文を実行すると、作成されているデータベースを削除できます。

mysql> DROP DATABASE データベース名;

以下のように表示されていれば成功です!

mysql> DROP DATABASE 任意のデータベース名;
Query OK, 0 rows affected (0.02 sec)

# 削除したデータベースがないことを確認
mysql> SHOW DATABASES;

ひとまず、ここまででデータベースの定義DDLについて学習しました。

まだテーブルについてはまとめられていないので、次回記述します。
お疲れ様でした!

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