PHP Create MySQL table
データテーブルは一意の名前を持ち、行と列で構成されます。
MySQLiとPDOを使用したMySQLテーブルの作成
CREATE TABLEステートメントは、MySQLテーブルの作成に使用されます。
CREATE TABLE tbl_name (col_name column_delivery);
テーブルを作成するには、少なくとも 1 つのフィールド定義が必要です。フィールド名と型はスペースで区切られ、複数のフィールドはカンマで区切られます
データベースの作成後、次のコマンドを実行できます。次のステートメントを実行してテーブル作成ステートメントを取得します
SHOW CREATE TABLE tbl_name;
、または次のステートメントを実行してテーブルの構造を出力します
DESC tbl_name;
CREATE TABLE my_tbl (
age INT,
name VARCHAR( 100)
);
上記のステートメントは、my_tbl という名前のテーブルを作成します。テーブルには 2 つのフィールドがあり、1 つは age (age) という名前で、もう 1 つのフィールドは name (name) という名前です。最大長は 100 文字の文字列です
テーブル作成ステートメントまたはテーブル構造を表示するには、SHOW または DESC を使用してください
「id」、「firstname」、「」の 5 つの列を持つ「MyGuests」という名前のテーブルを作成します。 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 値は許可されません。 L · デフォルト値 - データテーブル内の各レコードに一意の識別子を設定します。 通常、列の PRIMARY KEY は AUTO_INCREMENT とともに使用される ID 値に設定されます。
すべてのテーブルには主キー (この列は「id」列) が必要であり、主キーには一意の値が含まれている必要があります。
次の例は、PHP でテーブルを作成する方法を示しています:
例 (MySQLi - オブジェクト指向)
<?php $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 - プロシージャ指向)
<?php $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)
<?php $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; ?>
ちなみに、その他についても言及します関連するテーブル操作:
テーブルの削除:
DROP TABLE tbl_name;
テーブル名の変更:
ALTER TABLE tbl_name RENAME new_tbl_name;
フィールドの追加:
ALTER TABLE tbl_name ADD col_name column_Heading
追加されたフィールドはデフォルト すべての列の最後にある最後の列を最初の列に変更したい場合は、次のように記述できます
ALTER TABLE tbl_name ADD col_name column_dictionary FIRST;
特定の場所を指定したい場合は、次のように記述できます
ALTER TABLE tbl_name ADD col_name column_defin AFTER other_col_name;
フィールドを削除します:
ALTER TABLE tbl_name DROP col_name;
フィールド属性を変更します:
ALTER TABLE tbl_name MODIFY col_name column_defin;
フィールド名と属性を変更します:
ALTER TABLE tbl_name CHANGEcol_name_fromcol_name_tocolumn_definition;
modify はフィールド定義のみを変更できますが、change はフィールド名を変更できます