MySQLでデータベースを新規作成する

データベースを作る

mySQL>CREATE DATABASE dbname

プロンプトを利用して、新規にデータベースを作成します。

まずmySQLにログインします。
mysql -u root -p

慣例として、コマンドは大文字、変数は小文字となっています。
コマンドは小文字でも構いません。
変数は大文字小文字を区別します。

データベースを確認する


mySQL>SHOW DATABASES;

mysql> show databases;
+------------------------+
| Database                     |
+------------------------+
| information_schema    |
| cdcol                            |
| mysql                           |
| performance_schema |
| phpmyadmin               |
| test                              |
| dbname                       |
| webauth                      |
+------------------------+
8 rows in set (0.17 sec)
確かにdbnameができています。

使うデータベースを指定する



mySQL>USE tablename

ここではdbnameを使うことにしましょう。

データベースにテーブルを作る

テーブルとは、データベース内の表のことです。

エクセルに例えるなら、
データベース:ファイルに相当
テーブル:シートに相当

ここでは、id(数値)、name(文字列)、author(文字列)を要素とするテーブルを作ります。


mysql> create table tabledata(
    -> id int primary key auto_increment,
    -> name varchar(255),
    -> author varchar(255));
Query OK, 0 rows affected (0.34 sec)

テーブルの要素を確認する

DESC tablename;

+----------+-----------------+-----+----+---------+------------------+
| Field      | Type                 | Null  | Key | Default | Extra                 |
+---------+-----------------+------+----+---------+------------------+
| id           | int(11)             | NO   | PRI | NULL    | auto_increment |
| name     | varchar(255)   | YES  |       | NULL    |                           |
| url          | varchar(1024) | YES  |       | NULL    |                           |
+---------+-----------------+------+----+---------+------------------+

データベースを操作できるユーザーを作成する

GRANT 権限 ON dbname.tablename TO penguin IDENTIFIED BY 'pass';

主な権限の種類


  • all 全ての権限を与える。ALL PRIVIREGES または、ALL
  • usage 全ての権限を与えない  
  • create テーブルを作成する権限を付与する  
  • alter テーブルを変更する権限を付与する  
  • drop テーブルを削除する権限を付与する  
  • index インデックスを作成/削除する権限を付与する   Select,Update,Insert,Delete ⇒テーブル操作の権限を付与する