データベースは、1つまたは複数のテーブルで構成されています。
作成するか、MySQLデータベースを削除するために、特別なCREATE権限が必要になります。
MySQLiをとPDOを使用してMySQLデータベースを作成します。
CREATE DATABASE文はMySQLでデータベースを作成するために使用されます。
次の例では、という名前のデータベースを作成"myDB" :
例(MySQLi Object-oriented)
<?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つの引数を指定する必要があります。
ヒント:あなたが特定のポートを使用する必要がある場合は、次のように、データベース名を引数に空の文字列を追加します。新しいmysqli("localhost", "username" , "password" , "" , port)
例(MySQLi Procedural)
<?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;dbname=myDB",
$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文と生成されたエラーメッセージをエコー。