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 3 years have passed since last update.

RDBMS の主要製品とそのお試し

Last updated at Posted at 2021-07-27

自分用まとめ
お試しは Unix 系環境前提。ただし Microsoft 製品は逆に Windows を想定。

お約束

間違いが含まれる可能性がそれなりにあります。
間違いを見つけたら「どこを」「どのように」修正すべきか教えてください。

主要製品

ここでは、よく名前を見聞きする5製品に注目

製品名 開発元 オープンソースか?
MySQL Oracle ⭕️
PostgreSQL PostgreSQL Global Development Group ⭕️
Microsoft SQL Server Microsoft
Oracle Database Oracle
SQLite D. Richard Hipp ⭕️

注) オープンソースの製品は、誰でも無料で利用・改変できるが、無保証である場合が多い。

また、SQLite は少々特殊な製品である。
他の DBMS がサーバとして動作するのに対し、SQLite はライブラリのように振る舞う。
(SQLite データベースは単一のファイルから成り、接続時に初めてそのファイルが開かれる)

ゆえに SQLite は、それ以外の DBMS とは用いられる場面が異なるように見える。
(一般の DBMS がシステムのデータ管理に使われるのに対し、SQLite はブラウザ内や Android アプリ内で使用されている)

試し方

色々な製品でテーブルを作成し、データを挿入してから、その表を問い合わせしてみる。

お試し用SQL
-- DROP TABLE Students;

CREATE TABLE Students (
    id INT PRIMARY KEY,
    name VARCHAR(16),
    age INT
);

INSERT INTO Students VALUES
    (1, 'Alice', 16),
    (2, 'Bob', 18),
    (3, 'Charlie', 15),
    (4, 'David', 23);

SELECT * FROM Students;

以下の表が得られたら OK

Students

ID NAME AGE
1 Alice 16
2 Bob 18
3 Charlie 15
4 David 23

MySQL

  1. apt なり yum なり brew なりで mysql をインストールする
  2. mysql.server start コマンドで、サーバを起動
  3. mysql -uroot コマンドでサーバに接続
  4. (データベースを作っていないなら) CREATE DATABASE (データベース名);でデータベースを作成
  5. USE (データベース名)でデータベースに接続
  6. (いろいろ試してみる)
  7. \qで切断
  8. mysql.server stop コマンドで、サーバを終了

PostgreSQL

  1. apt なり yum なり brew なりで postgresql をインストールする
  2. initdb コマンドで、新規データベースを作成
  3. pg_ctl start でサーバを起動
  4. psql -d postgres でサーバに接続、postgres データベースが開かれる
  5. (いろいろ試してみる)
  6. \qで切断
  7. pg_ctl stop でサーバを終了
  • initdb, pg_ctl では -D オプションにより保存ディレクトリを指定できる
    • initdb に関しては指定が必須
    • pg_ctl に関しては、ディレクトリ指定の代わりに、環境変数 PGDATA で指定することもできる
  • Ubuntu では initdb, pg_ctl/usr/lib/postgresql/バージョン番号/bin/ にある。ただし、pg_ctl の代わりに /etc/init.d/postgresql を使う方が良さそう。

注意

ちょっと試すだけなら上記でも良いかもしれないが、ちゃんと使うなら、postgres データベース上で作業するべきではないだろう。CREATE DATABASE して、目的ごとにデータベースを作ると良いのではないだろうか。

Microsoft SQL Server

ここだけ Windows を想定。
Microsoft 製品を選ぶような人は、Windows を使っているはず…

  1. https://www.microsoft.com/ja-JP/sql-server/sql-server-downloads の下の方にある Express をダウンロードし、ウィザードに沿ってインストールする
  2. https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15 より、SQL Server Management Studio (SSMS) をダウンロード、インストール
  3. 再起動後、SSMS を起動
  4. ダイアログはそのまま Connect して、上部メニューの"New Query"をクリック
  5. (いろいろ試してみる)

注意

ちょっと試すだけなら上記でも良いかもしれないが、ちゃんと使うなら、別途データベースを作ると良いのではないだろうか。

Oracle Database

Live SQL という、Web上で気軽に試せる環境がある

  1. https://livesql.oracle.com/ を開く
  2. プロファイル登録またはログイン
  3. 同意画面が出るので同意
  4. SQL Worksheet が出たらOK
  5. (いろいろ試してみる)

この環境で作成したテーブル等は、しばらく(セッション中?)は残る模様。
何度も同じ CREATE TABLE を実行すると、「そのテーブルは既にありますよ」と怒られるので注意。

注意

上述の SQL コードでは、INSERT の複数行挿入の部分でエラーが出てしまう。
Oracle Database では、次のようにして試した。

Oracleでお試し
-- DROP TABLE Students;

CREATE TABLE Students (
    id INT PRIMARY KEY,
    name VARCHAR(16),
    age INT
);

INSERT ALL  -- MySQL, PostgreSQL などとは書き方が異なることに注意
INTO Students VALUES (1, 'Alice', 16)
INTO Students VALUES (2, 'Bob', 18)
INTO Students VALUES (3, 'Charlie', 15)
INTO Students VALUES (4, 'David', 23)
SELECT * FROM DUAL;

SELECT * FROM Students;

SQLite

  1. apt なり yum なりで sqlite3 をインストールする
  2. sqlite3 コマンドで実行
  3. (いろいろ試してみる)
  4. .q で終了
  • Mac なら最初から入っているはず
  • ファイルを指定すればそのファイルで、指定しなければ in-memory で実行される

いろいろな製品で SQL をお試しできる環境が整った!楽しい!
✌(’ω’✌ )三✌(’ω’)✌三( ✌’ω’)✌

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?