Tips

MySQL コマンド その3 【初級編 第8回】

データベースの作成

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練習問題集

Recent News

Recent Tips

Tag Search