PHPはMySQLテーブルを作成します
データテーブルには一意の名前があり、行と列で構(gòu)成されます。
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
)ENGINE=InnoDB DEFAULT CHARSET=utf8
注:
データ型は、列に格納できるデータの種類(lèi)を指定します。完全なデータ型については、データ型リファレンス マニュアルを參照してください。
データ型を設(shè)定した後、各列の他のオプションの屬性を指定できます:
1. NOT NULL - 各行には値が含まれている必要があり (空にすることはできません)、NULL 値は許可されません。
2. DEFAULT 値 - デフォルト値を設(shè)定します
3. UNSIGNED - 符號(hào)なしの數(shù)値タイプ、0 および正の數(shù)値を使用します
4. 新しい値が追加されるたびに、MySQL フィールドの値を自動(dòng)的に増加するように設(shè)定します。レコードが追加されました
5. PRIMARY KEY - データテーブル內(nèi)の各レコードの一意の識(shí)別子を設(shè)定します。 通常、列の PRIMARY KEY は AUTO_INCREMENT とともに使用される ID 値に設(shè)定されます。
6. ENGINE=InnoDB - データベース エンジンを InnoDB に設(shè)定します。これは MySQL 5.6 以降でデフォルトで使用されます。各 MySQL データ テーブルは、異なるストレージ エンジン (ストレージ エンジン) を使用して設(shè)定できます。MyISAM と InnoDB (デフォルト) の 2 つの主要なエンジンが使用されます。
7. DEFAULT CHARSET=utf8 - データベースのデフォルトの文字セットを utf8 に設(shè)定します
各テーブルには主キー (この列は「id」列) が必要であり、主キーには一意の値が含まれている必要があります。
次の例は、PHP でテーブルを作成する方法を示しています。
インスタンス (MySQLi - オブジェクト指向)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 創(chuàng)建連接 $conn =new mysqli($servername, $username, $password, $dbname); // 檢測(cè)連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } // 使用 sql 創(chuàng)建數(shù)據(jù)表 $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 "創(chuàng)建數(shù)據(jù)表錯(cuò)誤: " . $conn->error; } $conn->close(); ?>
インスタンス (MySQLi - 手続き型)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 創(chuàng)建連接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 檢測(cè)連接 if (!$conn) { die("連接失敗: " . mysqli_connect_error()); } // 使用 sql 創(chuàng)建數(shù)據(jù)表 $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 "數(shù)據(jù)表 MyGuests 創(chuàng)建成功"; } else { echo "創(chuàng)建數(shù)據(jù)表錯(cuò)誤: " . mysqli_error($conn); } mysqli_close($conn); ?>
インスタンス (Pや)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername; dbname=$dbname", $username, $password); // 設(shè)置 PDO 錯(cuò)誤模式,用于拋出異常 $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); // 使用 sql 創(chuàng)建數(shù)據(jù)表 $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() ,沒(méi)有結(jié)果返回 $conn->exec($sql); echo "數(shù)據(jù)表 MyGuests 創(chuàng)建成功"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
テーブル作成の原則
データベーステーブルを作成する際には、一般的に以下の注意事項(xiàng)があります
1. テーブル名とフィールド名の対応は、命名規(guī)則に従う必要があります。構(gòu)文と明確にする必要があります。 意味
3. フィールドのデータ型を指定します
4. フィールドが null かどうか、デフォルト値があるかどうかなどを指定します
5.主キーや外部キー、制約、インデックスなどのテーブル屬性
6. 他のテーブルとの関係
は、スペースとチュートリアルの難易度によって制限されているため、ここではあまり説明しません。
phpMyAdminを使用して操作する前の章では、phpMyAdminを直接開(kāi)き、コマンドを入力して新しいデータベースを作成し、データベースにクエリを?qū)g行できることを説明しました
ここでは、コマンドを使用して他の基本的な操作を?qū)g行することもできます。データベーステーブル上:データベーステーブルの削除 - DROP TABLE db_name
テーブル名の変更 - ALTER TABLE db_name RENAME new_db_name