BOARD

자료·레퍼런스

PHP 환경에서 MySQL 및 MariaDB 테이블 생성 방법 (MySQLi 및 PDO)

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 6회 작성일 26-10-11 16:42

본문

PHP 환경에서 MySQL 및 MariaDB 테이블 생성 방법 (MySQLi 및 PDO)

PHP 스크립트를 통해 MySQL 또는 MariaDB 데이터베이스에 새로운 테이블을 생성하려는 운영자와 개발자를 위해, MySQLi(객체지향·절차적)와 PDO 방식을 활용한 구체적인 코드 예제와 확인 방법을 안내합니다.

PHP 환경에서 MySQL 및 MariaDB 테이블 생성 방법

PHP에서 MySQL이나 MariaDB에 연결하여 새로운 테이블을 생성할 때는 주로 MySQLi 객체지향 방식, MySQLi 절차적 방식, 그리고 PDO 방식 중 하나를 선택하여 CREATE TABLE SQL 문을 실행합니다.

1. MySQLi 객체지향 방식

객체지향 스타일을 사용하여 데이터베이스에 연결하고 query() 메서드로 테이블을 생성하는 예제입니다.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 연결 생성
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결 확인
if ($conn->connect_error) {
 die("Connection failed: ". $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 "Error creating table: ". $conn->error;
}

$conn->close();
?>

2. MySQLi 절차적 방식

함수 호출 위주의 절차적 스타일을 선호하는 경우 mysqli_connect()와 mysqli_query() 함수를 사용합니다.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 연결 생성
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 연결 확인
if (!$conn) {
 die("Connection failed: ". 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 "Table MyGuests created successfully";
} else {
 echo "Error creating table: ". mysqli_error($conn);
}

mysqli_close($conn);
?>

3. PDO 방식

다양한 데이터베이스 드라이버를 지원하는 PDO(PHP Data Objects)를 사용하여 예외 처리 기반으로 테이블을 생성하는 방식입니다.

<?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 "Table MyGuests created successfully";
} catch(PDOException $e) {
 echo $sql. "<br>". $e->getMessage();
}

$conn = null;
?>

PHP 환경에서 MySQL 및 MariaDB 테이블 생성 방법

PHP 환경에서 MySQL이나 MariaDB에 새로운 테이블을 생성하려면 MySQLi 객체지향 방식, MySQLi 절차적 방식, 또는 PDO 방식을 사용하여 데이터베이스에 연결한 뒤 CREATE TABLE SQL 구문을 실행하면 됩니다.

1. MySQLi 객체지향 방식

new mysqli()를 통해 연결을 생성하고, $conn->query($sql)을 호출하여 테이블을 생성합니다.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
 die("Connection failed: ". $conn->connect_error);
}

// sql to create table
$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 "Error creating table: ". $conn->error;
}

$conn->close();
?>

2. MySQLi 절차적 방식

mysqli_connect() 함수로 연결하고 mysqli_query() 함수로 SQL을 실행합니다.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
 die("Connection failed: ". mysqli_connect_error());
}

// sql to create table
$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 "Table MyGuests created successfully";
} else {
 echo "Error creating table: ". mysqli_error($conn);
}

mysqli_close($conn);
?>

3. PDO 방식

new PDO()를 통해 연결하고 에러 모드를 설정한 뒤 $conn->exec($sql)을 호출합니다.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
 // set the PDO error mode to exception
 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 // sql to create table
 $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
 )";

 // use exec() because no results are returned
 $conn->exec($sql);
 echo "Table MyGuests created successfully";
} catch(PDOException $e) {
 echo $sql. "<br>". $e->getMessage();
}

$conn = null;
?>

4. 테이블 생성 확인 방법

스크립트 실행 후 데이터베이스에 테이블이 정상적으로 생성되었는지 확인하려면 phpMyAdmin 같은 DB 관리 프로그램을 이용하거나 SQL 명령어를 직접 실행할 수 있습니다.

  • phpMyAdmin 이용: 웹호스팅 환경 등에서 제공하는 phpMyAdmin에 로그인한 후, 좌측 메뉴에서 생성한 데이터베이스를 선택하고 새로 생성된 테이블명을 클릭하면 컬럼 구조를 확인할 수 있습니다.
  • SHOW TABLES 명령어 사용: MySQL 터미널이나 SQL 쿼리 창에 SHOW TABLES; 명령어를 입력하여 데이터베이스 내 전체 테이블 목록을 조회할 수 있습니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.