MySQLでテーブルを作成(削除)する

 MySQLでテーブルを作成(削除)するには、まずデータベースに接続し、既存のデータベースが存在(あるいは、新規でデータベースを作成する)しなければなりません。またテーブルにはカラムを作成しなければテーブルになりませんので、この項が理解しづらい方はデータ型のコーナーを一読してから実行してみてください。
 テーブル作成時のSQL文は、
create table <テーブル名> (<カラム名> <カラムのデータ型>, <カラム名> <カラムのデータ型>);
です。この構文をスクリプト上でもSQL文としてphpに渡してあげます。またテーブルを削除する際も同様です。
drop table <テーブル名>;

<?
# 接続情報
$db_user = "username";
$db_password = "123456";
$db_host = "localhost";

# データベースに接続
$db = mysql_connect ($db_host,$db_user,$db_password) or die ("Connect error !\n");
# 文字コードセット
mysql_query("set names utf8");
# データベース作成
$sql = "create database test_database";
mysql_query($sql);
# データベース選択
$sql = "use test_database";
# テーブル作成
mysql_query($sql);
$sql = "create table test_table (name VARCHAR(32),age INT(8))";

mysql_query($sql);mysql_close($db);
?>
 ここではnameとageという二つのカラムを作成しています。データ型はVARCHARの32バイト、INTの8バイトで作成しています。テーブルを削除する際はすべてのカラムが同時に削除されるのでカラムを指定する必要はありません。
 データ型はいろいろと覚えるのが面倒なのですが、日本語に入力を必要とする場合はたいていの場合VARCHARで事足ります。また名前やキーワードなど短いセンテンスをデータとして扱う場合は、バイト数の指定が32~128ぐらいでだいたい充分です。住所やちょっと長い要約文などは128~256または512とかその辺りでいいのではないでしょうか?いわゆる作文や長文に対応させる為には最大で65535バイトまで指定てきるのでその範囲で指定します。(無駄に長すぎると要らぬメモリを食います。)またINTは数字(整数)を扱うときに使う典型的なデータ型です。MySQLは数の扱いに関してはかなり性能がいいので8ぐらいの設定でいいと思います。
 






プロフィール



  • Name :: 山上オサム ♂(37)
  • Hobby :: 武術
  • Work :: Web Designer