自分用まとめ
お試しは 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 アプリ内で使用されている)
試し方
色々な製品でテーブルを作成し、データを挿入してから、その表を問い合わせしてみる。
-- 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
- apt なり yum なり brew なりで mysql をインストールする
-
mysql.server startコマンドで、サーバを起動 -
mysql -urootコマンドでサーバに接続 - (データベースを作っていないなら)
CREATE DATABASE (データベース名);でデータベースを作成 -
USE (データベース名)でデータベースに接続 - (いろいろ試してみる)
-
\qで切断 -
mysql.server stopコマンドで、サーバを終了
PostgreSQL
- apt なり yum なり brew なりで postgresql をインストールする
-
initdbコマンドで、新規データベースを作成 -
pg_ctl startでサーバを起動 -
psql -d postgresでサーバに接続、postgresデータベースが開かれる - (いろいろ試してみる)
-
\qで切断 -
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 を使っているはず…
- https://www.microsoft.com/ja-JP/sql-server/sql-server-downloads の下の方にある Express をダウンロードし、ウィザードに沿ってインストールする
- https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15 より、SQL Server Management Studio (SSMS) をダウンロード、インストール
- 再起動後、SSMS を起動
- ダイアログはそのまま Connect して、上部メニューの"New Query"をクリック
- (いろいろ試してみる)
- "SQL Server インストール センター" では、"新規スタンドアロン インストールを実行"を選択
- Windows 以外でも、Docker があれば、SQL Server イメージを用いて実行することができる
注意
ちょっと試すだけなら上記でも良いかもしれないが、ちゃんと使うなら、別途データベースを作ると良いのではないだろうか。
Oracle Database
Live SQL という、Web上で気軽に試せる環境がある
- https://livesql.oracle.com/ を開く
- プロファイル登録またはログイン
- 同意画面が出るので同意
- SQL Worksheet が出たらOK
- (いろいろ試してみる)
この環境で作成したテーブル等は、しばらく(セッション中?)は残る模様。
何度も同じ CREATE TABLE を実行すると、「そのテーブルは既にありますよ」と怒られるので注意。
注意
上述の SQL コードでは、INSERT の複数行挿入の部分でエラーが出てしまう。
Oracle Database では、次のようにして試した。
-- 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
- apt なり yum なりで sqlite3 をインストールする
-
sqlite3コマンドで実行 - (いろいろ試してみる)
-
.qで終了
- Mac なら最初から入っているはず
- ファイルを指定すればそのファイルで、指定しなければ in-memory で実行される
いろいろな製品で SQL をお試しできる環境が整った!楽しい!
✌(’ω’✌ )三✌(’ω’)✌三( ✌’ω’)✌