PHP는 MySQL 테이블을 생성합니다

PHP는 MySQL 테이블을 생성합니다

데이터 테이블은 고유한 이름을 가지며 행과 열로 구성됩니다.

MySQLi와 PDO를 사용하여 MySQL 테이블 생성

CREATE TABLE 문은 MySQL 테이블을 생성하는 데 사용됩니다.

CREATE TABLE tbl_name (col_name column_definition);

테이블을 생성할 때 필드 정의가 하나 이상 있어야 하며, 필드 이름과 유형을 구분하려면 공백을 사용하고, 여러 필드를 구분하려면 쉼표를 사용하세요.

데이터베이스가 생성된 후 다음 문을 실행하여 테이블 생성 문을 가져오거나

SHOW CREATE TABLE tbl_name;

다음 문을 실행하여 테이블 구조를 인쇄할 수 있습니다

DESC tbl_name;

CREATE TABLE my_tbl (
age INT,
name VARCHAR(100)
);

위 명령문은 my_tbl 테이블에는 두 개의 필드가 있습니다. 하나는 age(age)로 명명되고, 저장된 유형은 정수이고, 다른 필드는 name(name)으로 명명되고, 유형은 최대 길이가 100자인 문자열입니다.

테이블 생성 문이나 테이블 구조를 보려면 SHOW 또는 DESC를 사용하세요

"id", "firstname", "lastname", "email" 및 "id", "firstname", "lastname", "email" 및 5개의 열이 있는 "MyGuests"라는 테이블을 생성합니다. "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
 )

위 표의 참고 사항:

데이터 유형은 열에 저장할 수 있는 데이터 유형을 지정합니다. 전체 데이터 유형에 대해서는 데이터 유형 참조 매뉴얼을 참조하세요.

데이터 유형을 설정한 후 각 열에 대해 다른 옵션의 속성을 지정할 수 있습니다. 허용되지 않습니다.

·                                                                                                                                                                                                  매번 자동으로 1씩 증가합니다. 녹음할 때. 일반적으로 열의 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_definition;

추가된 필드 기본값은 모든 열의 끝의 마지막 열입니다. 첫 번째 열로 변경하려면

ALTER TABLE tbl_name ADD col_name column_definition FIRST;

와 같이 작성하시면 됩니다.

특정 위치를 지정하고 싶다면 다음과 같이 쓰면 됩니다

ALTER TABLE tbl_name ADD col_name column_definition AFTER other_col_name;

필드 삭제:

ALTER TABLE tbl_name DROP col_name;

필드 속성 수정:

ALTER TABLE tbl_name MODIFY col_name column_definition;

필드 이름 및 속성 수정:

ALTER TABLE tbl_name CHANGE col_name_from col_name_to column_definition;

modify는 필드 정의만 수정할 수 있고, 변경은 필드 이름을 수정할 수 있습니다.


지속적인 학습
||
<?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); ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~