PHPMySQLデータベースを作成する
データベースは、1つ以上のテーブルで構成されます。
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オブジェクトの最初の3つの引数(サーバー名、ユーザー名、およびパスワード)のみを指定する必要があります。
ヒント:特定のポートを使用する必要がある場合は、次のように、database-name引数に空の文字列を追加します。newmysqli( "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ステートメントと生成されたエラーメッセージをエコーします。