無料Wikiサービス | デモページ
Linuxなどのメモ書き

MySQL 基本的なDB作成


1.データベースの作成

CREATE DATABASEで作成する。作成には権限が必要。作成後、useで使用するデータベースを選択する。
mysql> CREATE DATABASE friendDB
Query OK, 1 row affected (0.00 sec)
mysql> use friendDB
Database changed


2.テーブルの作成

以下のような友人リストを登録するテーブルを作る場合。

friendsテーブル
No.フィールド名
内容
1
id
識別子
2
name
氏名
3
address
住所(省略可)
4
birthday
生年月日(省略可)

以下のようにしてテーブルを作成する。
mysql>  CREATE TABLE friends (id INT UNSIGNED PRIMARY KEY,
name VARCHAR(30) NOT NULL, address VARCHAR(100),
birthday DATETIME);


◎PRIMARY KEY
PRIMARY KEYを設定したカラムには以下の特徴がある。
  • 他のレコードと重複した値は格納できない
  • NOT NULL属性を持つ
  • 自動的にインデックスが設定される
  • PRIMARY KEYを設定したカラムはテーブルに1つしか存在できない
◎VARCHAR(M)
Mは格納できる文字数。上記のnameカラムでは30文字まで格納できる。超えた分は破棄される。Byteではなく文字数なので日本語などのマルチバイト文字も30文字まで格納できる。
Ver. 4.1より前では「バイト」を意味する。

3.レコードの登録/削除

データを登録するには以下のようにする。
mysql> INSERT INTO friends (id, name, address, birthday)
VALUES(1, "tomita", "Kamata xxxx", "2006-05-13 12:34:56");
既に登録済みのレコードを更新する場合。
mysql> UPDATE friends SET address="Yokohama" WHERE id=2;
レコードを削除する場合は以下のとおり。WHERE以降の条件が真になるレコードが削除される。以下の例ではidが2のレコードを削除する。
mysql> DELETE FROM friends WHERE id=2;
以下のようにするとテーブルの全レコードが削除される。
mysql> DELETE FROM friends WHERE 1;
mysql> DELETE FROM friends; でも同じ

4.自動採番したいカラム

上記のテーブルだとidを毎回自分で採番しないといけない。idを自動採番したい場合は以下のようにidにSERIAL属性をつけてテーブルを作っておけばよい。(SERIALはBIGINT NOT NULL AUTO_INCREMENT UNIQUEと同じ)
mysql> CREATE TABLE friends (id SERIAL, name VARCHAR(30)
NOT NULL, address VARCHAR(100), birthday DATETIME);
このようにしておけば、以下のようにしてidを省略して1から順番に自動採番させて登録できる。なおidは自動的にインデックス設定される。
mysql> INSERT INTO friends (name, address, birthday)
VALUES("tomita", "Kamata xxxx", "2006-05-13 12:34:56");



最終更新 2006/06/07 16:52:12 - kztomita
(2006/05/12 21:52:38 作成)