備忘録
内容は以下の通り
- バージョン確認
- データベース(以下DB)作成 ・削除
- テーブル作成・削除
##バージョン確認
サーバサイド言語でMySQLを利用する場合、バージョンを指定することがよくある
そして、どのバージョンをインストールしたかをよく忘れるので、覚えておくと便利なコマンド
ログイン前と後でコマンドが変わる(どちらも結果はほとんど同じ)
ログイン前
$ mysql --version
ログイン後
mysql> select version();
MySQL(他のDBでもそうだが)ではDBを作成し、その中にテーブルを作成して、データを管理する。
アプリケーションは複数のテーブルを用い、データを管理し、その複数のテーブルをまとめて管理する単位をDBと呼ぶ。
##DB作成
まずはDBにログインする
$ mysql -u root -p
上記はrootユーザでログインするコマンド
パスワードを求められるので入力(rootユーザはデフォルトで作成されている)
DBを作成する
mysql> CREATE DATABASE DB名 default character set utf8;
日本語のデータを扱う場合は
default character set utf8
を必ず記述する(ここは日本なので思考停止でDB作成時に入力する)
全角と半角はどちらでも構わないが末尾には;
を必ず入力する(SQLの終端記号)
DB一覧を表示
mysql> show databases;
複数のアプリを作るとDBも複数作っていくので、このコマンドで一覧を表示して確認する。
また、DBを作成した後に、正しく作成されているかの確認の意味でも一覧表示してみる。(一覧表示なので複数形になっている点に注意)
DBの削除
間違ってDBを作成してしまった場合の対処方法
mysql> DROP DATABASE DB名;
※確認無しに即削除になるので、テーブルを作成したデータベースを削除する際は最新の注意を払うこと。
##テーブルの作成
テーブルはDBの中に作成するので、以下の手順で作成する。
- DBの選択
- テーブルの作成
- テーブル一覧の出力(確認のため)
- テーブルの定義情報を出力
データベースの選択
mysql> USE DB名
このコマンドでDBを選択して、次のコマンドでこのDBの中にテーブルを作成する。
テーブル作成
mysql> CREATE TABLE DB名.テーブル名(
カラム名1 データ型 制約,
カラム名2 データ型 制約,
);
DB名と制約は省略可です。
ファイルにSQLコードを記述して、まとめてSQLを実行する場合、DB名を選択できないので、DB名を省略するとエラーになってしまう。
故に、基本的にDB名は記述する癖をつけておいたほうが間違いがない。
例えば、次のようなテーブルを仮定して実行してみる
テーブル名:user
id | name | age | created_at |
---|---|---|---|
整数型 | 文字型 | 整数型 | タイムスタンプ |
主キー | null禁止 | null禁止 | null禁止 |
自動連番 | 最大100文字 |
mysql> CREATE TABLE DB名.user(
id int auto_increment not null primary key,
name varchar(100) not null,
age int not null,
created_at timestamp not null
current_timestamp
);
主キーとなるidはレコード追加時に自動で採番すると便利なので、オートインクリメントにしておく
タイムスタンプとはレコード追加日時を記録するためのデータ型
テーブル一覧の出力
作成したテーブルを一覧として出力するコマンド
mysql> show tables;
DB一覧の出力と同様に複数形になっている点に注意
テーブルの定義情報を出力
カラム名やデータ型、制約を確認することはよくあるため、覚えておくと便利
mysql> describe テーブル名
ディスクリブが説明という意味なので覚えやすい
テーブルの削除
テーブル定義を間違えた場合、作り直すがその際に実行するコマンド
mysql> DROP DB名.テーブル名
おしまい