Mysql-create-tables
提供:Dev Guides
MySQLテーブルを作成する
まず、テーブル作成コマンドには次の詳細が必要です-
- テーブルの名前
- フィールドの名前
- 各フィールドの定義
構文
これは、MySQLテーブルを作成する一般的なSQL構文です-
CREATE TABLE table_name (column_name column_type);
ここで、 TUTORIALS データベースに次のテーブルを作成します。
create table tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
ここでは、いくつかの項目に説明が必要です-
- このフィールドをNULLにしたくないため、フィールド属性 NOT NULL が使用されています。 したがって、ユーザーがNULL値を持つレコードを作成しようとすると、MySQLはエラーを発生させます。
- フィールド属性 AUTO_INCREMENT は、MySQLにidフィールドに次に利用可能な番号を追加するよう指示します。
- キーワード PRIMARY KEY は、列を主キーとして定義するために使用されます。 コンマで区切られた複数の列を使用して、主キーを定義できます。
コマンドプロンプトからのテーブルの作成
mysql>プロンプトからMySQLテーブルを簡単に作成できます。 SQLコマンド CREATE TABLE を使用して、テーブルを作成します。
例
*tutorials_tbl* を作成する例を次に示します-
root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
-> tutorial_id INT NOT NULL AUTO_INCREMENT,
-> tutorial_title VARCHAR(100) NOT NULL,
-> tutorial_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( tutorial_id )
-> );
Query OK, 0 rows affected (0.16 sec)
mysql>
注-MySQLは、SQLコマンドの最後にセミコロン(;)を指定するまでコマンドを終了しません。
PHPスクリプトを使用したテーブルの作成
既存のデータベースに新しいテーブルを作成するには、PHP関数* mysql_query()*を使用する必要があります。 適切なSQLコマンドで2番目の引数を渡して、テーブルを作成します。
例
次のプログラムは、PHPスクリプトを使用してテーブルを作成する例です-
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br/>';
$sql = "CREATE TABLE tutorials_tbl( ".
"tutorial_id INT NOT NULL AUTO_INCREMENT, ".
"tutorial_title VARCHAR(100) NOT NULL, ".
"tutorial_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( tutorial_id )); ";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>