PHP MySQL은 데이터 테이블을 생성합니다.
데이터 테이블은 고유한 이름을 가지며 행과 열로 구성됩니다.
MySQLi와 PDO를 사용하여 MySQL 테이블 생성
CREATE TABLE 문은 MySQL 테이블을 생성하는 데 사용됩니다.
추천 비디오 튜토리얼: "mysql 튜토리얼" http://www.php.cn/course/list/51.html
"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 )
위 표의 참고 사항:
데이터 유형은 열에 저장할 수 있는 데이터 유형을 지정합니다. 전체 데이터 유형에 대해서는 다음을 참조하세요. 데이터 유형 참조 매뉴얼.
데이터 유형을 설정한 후 각 열에 대해 다른 옵션의 속성을 지정할 수 있습니다.
NOT NULL - 각 행에는 값이 포함되어야 합니다(비워둘 수 없음). ), null 값은 허용되지 않습니다.
DEFAULT 값 - 기본값 설정
UNSIGNED - 부호 없는 숫자 유형, 0 및 양수 사용
AUTO INCREMENT - 새 레코드가 추가될 때마다 MySQL 필드의 값이 자동으로 1씩 증가하도록 설정합니다.
PRIMARY KEY - MySQL 필드의 각 레코드에 대한 고유 식별자를 설정합니다. 데이터 테이블. 일반적으로 해당 열의 PRIMARY KEY는 ID 값과 동일하게 설정됩니다. AUTO_INCREMENT와 함께 사용됩니다.
각 테이블에는 기본 키(이 열은 "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; ?>