English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、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文では、キーワード、値、式などが区切られていない限り、任意の改行符を使用することができます。