データテーブルには一意の名前があり、行と列で構成されます。
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
注:
データ型は、列に格納できるデータの種類を指定します。完全なデータ型については、データ型リファレンス マニュアルを参照してください。
データ型を設定した後、各列の他のオプションの属性を指定できます:
1. NOT NULL - 各行には値が含まれている必要があり (空にすることはできません)、NULL 値は許可されません。
2. DEFAULT 値 - デフォルト値を設定します
3. UNSIGNED - 符号なしの数値タイプ、0 および正の数値を使用します
4. 新しい値が追加されるたびに、MySQL フィールドの値を自動的に増加するように設定します。レコードが追加されました
5. PRIMARY KEY - データテーブル内の各レコードの一意の識別子を設定します。 通常、列の PRIMARY KEY は AUTO_INCREMENT とともに使用される ID 値に設定されます。
6. ENGINE=InnoDB - データベース エンジンを InnoDB に設定します。これは MySQL 5.6 以降でデフォルトで使用されます。各 MySQL データ テーブルは、異なるストレージ エンジン (ストレージ エンジン) を使用して設定できます。MyISAM と InnoDB (デフォルト) の 2 つの主要なエンジンが使用されます。
7. DEFAULT CHARSET=utf8 - データベースのデフォルトの文字セットを utf8 に設定します
各テーブルには主キー (この列は「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); ?>
インスタンス (Pや)
<?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; ?>
テーブル作成の原則
データベーステーブルを作成する際には、一般的に以下の注意事項があります
1. テーブル名とフィールド名の対応は、命名規則に従う必要があります。構文と明確にする必要があります。 意味
3. フィールドのデータ型を指定します
4. フィールドが null かどうか、デフォルト値があるかどうかなどを指定します
5.主キーや外部キー、制約、インデックスなどのテーブル属性
6. 他のテーブルとの関係
は、スペースとチュートリアルの難易度によって制限されているため、ここではあまり説明しません。
phpMyAdminを使用して操作する前の章では、phpMyAdminを直接開き、コマンドを入力して新しいデータベースを作成し、データベースにクエリを実行できることを説明しました
ここでは、コマンドを使用して他の基本的な操作を実行することもできます。データベーステーブル上:データベーステーブルの削除 - DROP TABLE db_name
テーブル名の変更 - ALTER TABLE db_name RENAME new_db_name