TECH I.S.

PHP MySQL テーブルの作成


データベース テーブルには独自の一意の名前があり、列と行で構成されます。


MySQLiとPDOを使用してMySQLテーブルを作成する

CREATE TABLEステートメントは、MySQLでテーブルを作成するために使用されます。

「id」、「firstname」、「lastname」、「email」、「reg_date」の5つの列を持つ「MyGuests」という名前のテーブルを作成します。

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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )

上記の表に関する注:

データ型は、列が保持できるデータの型を指定します。利用可能なすべてのデータ型の完全なリファレンスについては、データ型リファレンスを参照して下さい。

データ型の後に、各列のその他のオプション属性を指定できます。

  • NOT NULL - 各行にはその列の値が含まれている必要があり、null値は許可されていません
  • DEFAULT value - 他の値が渡されない場合に追加されるデフォルト値を設定します
  • UNSIGNED - 数値型に使用され、格納されるデータを正の数とゼロに制限します
  • AUTO INCREMENT - 新しいレコードが追加されるたびに、MySQLはフィールドの値を自動的に1ずつ増やします。
  • PRIMARY KEY - テーブル内の行を一意に識別するために使用されます。 PRIMARY KEYを設定した列はID番号であることが多く、AUTO_INCREMENTと併用することが多い

各テーブルには主キー列 (この場合は「id」列) が必要です。その値は、テーブル内の各レコードに対して一意である必要があります。

次の例は、PHPでテーブルを作成する方法を示しています。

例 (MySQLi オブジェクト指向)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); } // sql to create table $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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"; if ($conn->query($sql) === TRUE) {   echo "Table MyGuests created successfully"; } else {   echo "Error creating table: " . $conn->error; } $conn->close(); ?>



例(MySQLiプロシージャル)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) {   die("Connection failed: " . mysqli_connect_error()); } // sql to create table $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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"; if (mysqli_query($conn, $sql)) {   echo "Table MyGuests created successfully"; } else {   echo "Error creating table: " . mysqli_error($conn); } mysqli_close($conn); ?>

例 (PDO)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try {   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);   // set the PDO error mode to exception   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   // sql to create table   $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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP   )";   // use exec() because no results are returned   $conn->exec($sql);   echo "Table MyGuests created successfully"; } catch(PDOException $e) {   echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細