데이터베이스 생성
데이터베이스는 하나 이상의 테이블로 구성된다.
MySQL 데이터베이스를 만들거나 삭제하려면 특별한 CREATE 권한이 필요하다.
MySQLi 객체 지향
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; $conn = new mysqli($servername, $username, $password); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "Database created successfully"; } else { echo "Error creating database: " . $conn->error; } $conn->close(); ?>
새 데이터베이스를 만들 때 mysqli 객체에 처음 세 개의 인수 (서버 이름, 사용자 이름 및 암호) 만 지정해야한다.
특정 포트를 사용해야하는 경우 다음과 같이 데이터베이스 이름 인수에 빈 문자열을 추가하자.
예 : new mysqli ( “localhost”, “username”, “password”, “”, port)
MySQLi 절차
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; $conn = mysqli_connect($servername, $username, $password); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $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
PHP
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO"; $conn->exec($sql); echo "Database created successfully
"; } catch(PDOException $e) { echo $sql . "
" . $e->getMessage(); } $conn = null; ?>
PDO의 가장 큰 이점은 데이터베이스 쿼리에서 발생할 수있는 문제를 처리하는 예외 클래스가 있다는 것이다.
try{ } 블록 내에서 예외가 발생하면 스크립트는 실행을 중지하고 첫 번째 catch(){ } 블록으로 직접 흐른다.
위의 catch 블록에서 SQL 문과 생성 된 오류 메시지를 출력한다.
참고
W3C School - PHP Create a MySQL Database
W3C School - SQL Tutorial
W3C School - PHP Tryit Editor