MySQLはデータテーブルを作成します
MySQL データ テーブルを作成するには、次の情報が必要です。
- テーブル名
- テーブルのフィールド名
- テーブルの各フィールドを定義する
文法
以下は、MySQL データ テーブルを作成するための一般的な SQL 構文です。
CREATE TABLE table_name (column_name column_type);
次の例では、RUNOOB データベースにデータ テーブル kxdang_tbl を作成します。
CREATE TABLE IF NOT EXISTS `kxdang_tbl`(
`kxdang_id` INT UNSIGNED AUTO_INCREMENT,
`kxdang_title` VARCHAR(100) NOT NULL,
`kxdang_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `kxdang_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
分析例:
- フィールドをNULLにしたくない場合は 、フィールドの属性をNOT NULL に設定できます 。 データベースの操作時にフィールドに入力されたデータがNULLの場合 、エラーが報告されます。
- AUTO_INCREMENT は、列を自動インクリメント属性として定義します。これは通常主キーに使用され、値は自動的に 1 ずつ増加します。
- PRIMARY KEY キーワードは、列を主キーとして定義するために使用されます。カンマで区切られた複数の列を使用して主キーを定義できます。
- ENGINE はストレージ エンジンを設定し、CHARSET はエンコーディングを設定します。
コマンドプロンプトでテーブルを作成する
MySQL データ テーブルは、mysql> コマンド ウィンドウから簡単に作成できます。SQL ステートメント CREATE TABLE を使用して データ テーブルを作成できます。
例
以下は、データテーブル kxdang_tbl の作成例です。
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE kxdang_tbl(
-> kxdang_id INT NOT NULL AUTO_INCREMENT,
-> kxdang_title VARCHAR(100) NOT NULL,
-> kxdang_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( kxdang_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>
注: MySQL コマンドの終了文字はセミコロンです。
注: -> は改行記号です。コピーしないでください。
PHPスクリプトを使用してデータテーブルを作成する
PHP の mysqli_query() 関数を使用して、既存のデータベースにテーブルを作成できます。
この関数は 2 つのパラメータを受け取り、成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。
文法
mysqli_query(connection,query,resultmode);
パラメータ | 説明 |
---|---|
繋がり | 必要。使用する MySQL 接続を指定します。 |
クエリ | 必須。クエリ文字列を指定します。 |
結果モード | オプション。定数。次のいずれかの値を指定できます: * MYSQLI_USE_RESULT (大量のデータを取得する必要がある場合に使用します) * MYSQLI_STORE_RESULT (デフォルト) |
例
次の例では、PHP スクリプトを使用してデータ テーブルを作成します。
データテーブルの作成
<?php
$dbhost = 'localhost'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功<br />';
$sql = "CREATE TABLE kxdang_tbl( ".
"kxdang_id INT NOT NULL AUTO_INCREMENT, ".
"kxdang_title VARCHAR(100) NOT NULL, ".
"kxdang_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( kxdang_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('数据表创建失败: ' . mysqli_error($conn));
}
echo "数据表创建成功\n";
mysqli_close($conn);
?>
実行が成功すると、コマンド ラインからテーブル構造を表示できます。