データベースの作成
mysql> create database testdb;
ちなみに同じデータベース名が存在する場合にはエラーになるので注意する
作成したデータベースは etc/my.cnf 内の datadir= のパスに同じ名前のディレクトリが作成されてそこにデータが保存される。
データはバイナリデータになっている
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用するデータベースの指定
mysql> use testdb;
現在接続しているデータベース名を表示する
mysql> select database();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
データベースの削除
mysql> drop database testdb;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
データベース内のテーブル一覧
(上記で使用するデータベースを先に指定すること)
mysql> show tables;
データベース内のテーブル一覧
(データベースをあらかじめ use データベース名; で指定しなくてもよい)
mysql> show tables from testdb;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
テーブルの作成
mysql> create table testtable(id int, name char);
NULL情報が入ることを許可するかしないかを指定してテーブルを作成する
mysql> create table testtable(id int not null, name char null);
デフォルト値を指定してテーブルを作成する
mysql> create table testtable(id int not null default 1, name char null);
オートで増える値を指定する(indexで auto_incrementを設定したカラム名を指定する必要がある。また auto_incrementを指定時には primary keyを設定する必要がある)
mysql> create table testtable(id int not null auto_increment primary key, name char null, index(id));
プライマリキーを設定してテーブルを作成する
mysql> create table testtable(id int not null primary key, name char null);
プライマリキーと同じようにユニークにしなければいけないが、NULL値だけは格納できるようにする
mysql> create table testtable(id int not null unique, name char null);
ストレージエンジンを指定してテーブルを作成する(ここでは innoDBを使用する。ストレージエンジンによってデータの格納のしかたが異なっている)
mysql> create table testtable(id int default 1, name varchar(10)) engine=innodb;
下記のようにすると、testtable と同じ属性(カラム名やデータ型が一緒)で空のテーブル(データは入っていない)ものが作成される。
mysql> create table testtable2 like testtable;
今回はここまでとする。
SQLが学べる 関連連載リンク
データベースの基礎が学べるSQL基礎講座
SQL基礎 連載
練習問題を通じてSQL理解度アップの人気連載!
SQL練習問題集