PHP MySQL 데이터베이스 생성
데이터베이스는 하나 이상의 테이블로 구성됩니다.
MySQL 데이터베이스를 생성하거나 삭제하려면 특별한 CREATE 권한이 필요합니다.
MySQLi 및 PDO를 사용하여 MySQL 데이터베이스 생성
CREATE DATABASE 문은 MySQL에서 데이터베이스를 생성하는 데 사용됩니다.
다음 예에서는 "myDB"라는 데이터베이스를 생성합니다.
예제(MySQLi 객체 지향)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "Database created successfully";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
참고: 새 데이터베이스를 생성할 때 mysqli 객체에 대한 처음 세 개의 인수(서버 이름, 사용자 이름 및 암호)만 지정해야 합니다.
팁: 특정 포트를 사용해야 하는 경우 다음과 같이 database-name 인수에 빈 문자열을 추가하십시오. new mysqli("localhost", "username", "password", "", port)
예(MySQLi 절차)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Create database
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Database created successfully";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
참고: 다음 PDO 예제는 "myDBPDO"라는 데이터베이스를 생성합니다.
예(PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// use exec() because no results are returned
$conn->exec($sql);
echo "Database created successfully<br>";
} catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
팁: PDO의 가장 큰 장점은 데이터베이스 쿼리에서 발생할 수 있는 모든 문제를 처리할 수 있는 예외 클래스가 있다는 것입니다. try{ } 블록 내에서 예외가 발생하면 스크립트는 실행을 중지하고 첫 번째 catch(){ } 블록으로 직접 흐릅니다. 위의 catch 블록에서 SQL 문과 생성된 오류 메시지를 에코합니다.