PHP MySQL テーブルの作成
データテーブルには一意の名前があり、行と列で構成されています。
MySQLi と PDO を使用して MySQL テーブルを作成する
CREATE TABLE 文は MySQL テーブルの作成に使用されます。
テーブルを作成する前に、使用する必要がありますuse myDB操作するデータベースを選択するために:
use myDB;
「MyGuests」という名前のテーブルを作成します。5つの列:"id", "firstname", "lastname", "email", "reg_date":
CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)
上記の表の注意事項:
データ型は、列が格納できるデータの種類を指定します。完全なデータ型については、データ型リファレンスマニュアルを参照してください。。
データ型を設定した後、各列に他のオプションの属性を指定できます:
- NOT NULL - 各行は値を持つ必要があります(空は不可)。null 値は許可されません。
- DEFAULT value - デフォルト値を設定します
- UNSIGNED - 符号なし数値型を使用、0 および正の数
- AUTO INCREMENT - 新規レコード追加時に MySQL フィールドの値を毎回自動的に1ずつ増加させます
- PRIMARY KEY - データテーブル内の各レコードの一意の識別子を設定します。通常、列の PRIMARY KEY は ID 数値に設定され、AUTO_INCREMENT と一緒に使用されます。
各テーブルには主キーが必要です(ここでは "id" 列)。主キーは一意の値を含む必要があります。
以下の例は、PHP でテーブルを作成する方法を示しています:
例 (MySQLi - オブジェクト指向)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
//接続を作成
$conn = new mysqli($servername, $username, $password, $dbname);
//接続を確認
if ($conn->connect_error) {
die("接続失敗:" . $conn->connect_error);
}
//sql を使用してデータテーブルを作成
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "データテーブル作成エラー:" . $conn->error;
}
$conn->close();
例 (MySQLi - 手続き型)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
//接続を作成
$conn = mysqli_connect($servername, $username, $password, $dbname);
//接続を確認
if (!$conn) {
die("接続失敗:" . mysqli_connect_error());
}
//sql を使用してデータテーブルを作成
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if (mysqli_query($conn, $sql)) {
echo "データテーブル MyGuests の作成に成功しました";
} else {
echo "データテーブル作成エラー:" . mysqli_error($conn);
}
mysqli_close($conn);
例 (PDO)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
//PDO エラーモードを設定し、例外をスローする
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//sql を使用してデータテーブルを作成
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
//exec() を使用します。結果は返されません。
$conn->exec($sql);
echo "データテーブル MyGuests の作成に成功しました";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;