English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP基本チュートリアル

PHP上級チュートリアル

PHP & MySQL

PHPリファレンスマニュアル

PHP MySQLのテーブルの作成

このチュートリアルでは、PHPを使用してMySQLデータベース内にテーブルを作成する方法を学びます。

PHPを使用してMySQLデータベース内にテーブルを作成する

前章ではMySQLサーバー上でデータベースを作成する方法を学びました。今やデータベース内にテーブルを作成する時が来ました。これらのテーブルは実際にデータを保存します。テーブルは情報を行と列に構造化します。

SQL CREATE TABLEこの文はデータベース内にテーブルを作成するために使用されます。

CREATE TABLE文を使用してSQLクエリを実行します。その後、PHPのmysqli_query()関数に渡して最終的にテーブルを作成します。

<?php
/* MySQLサーバーへの接続を試みます。MySQLが実行中であることを仮定します。
デフォルト設定のサーバー(パスワードのないユーザー「root」) */
$link = mysqli_connect("localhost", "root", "");
 
// 接続を確認する
if($link === false){
    die("エラー:接続できません。" . mysqli_connect_error());
}
//CREATE TABLEクエリを実行しようと試みます
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if(mysqli_query($link, $sql)){
    echo "テーブルの作成に成功しました。";
} else{
    echo "エラー:$sqlを実行できません。" . mysqli_error($link);
}
 
//接続を閉じます
mysqli_close($link);
?>
<?php
/* MySQLサーバーへの接続を試みます。MySQLが実行中であることを仮定します。
デフォルト設定のサーバー(パスワードのないユーザー「root」) */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// 接続を確認する
if($mysqli === false){
    die("エラー:接続できません。" . $mysqli->connect_error);
}
 
//CREATE TABLEクエリを実行しようと試みます
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if($mysqli->query($sql) === true){
    echo "テーブル作成成功。";
} else{
    echo "エラー:実行できません $sql. " . $mysqli->error;
}
 
// 接続を閉じます
$mysqli->close();
?>
<?php
/* MySQLサーバーへの接続を試みます。MySQLが実行中であることを仮定します。
デフォルト設定のサーバー(パスワードのないユーザー「root」) */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //PDOのエラーモードを例外に設定します
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("エラー:接続できません。 " . $e->getMessage());
}
 
//CREATE TABLEクエリを実行しようと試みます
try{
    $sql = "CREATE TABLE persons(
        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(30) NOT NULL,
        last_name VARCHAR(30) NOT NULL,
        email VARCHAR(70) NOT NULL UNIQUE
    )";    
    $pdo->exec($sql);
    echo "テーブルの作成に成功しました。";
} catch(PDOException $e){
    die("エラー:実行できません $sql. " . $e->getMessage());
}
 
//接続を閉じます
unset($pdo);
?>

以下のPHPコードは、id、first_name、last_name、emailの4つの列を持つpersonという名前のテーブルを作成します。
各フィールド名の後にデータ型の宣言があります;この宣言は、列が保存できるデータ型(整数、文字列、日付など)を指定します。

前のSQL文では、列名の後に追加の制約(修飾子とも呼ばれます)が指定されています。例えば、NOT NULL、PRIMARY KEY、AUTO_INCREMENTなどです。制約は、列に許可される値に関するルールを定義します。

関連情報を確認してくださいSQL CREATE TABLE文のガイドを参照して、構文に関する詳細情報やMySQLデータベースシステムで利用可能なデータ型および制約の詳細を取得してください。

注意: SQL文では、キーワード、値、式などが区切られていない限り、任意の改行符を使用することができます。