MySQLでは、以下のようなクエリを使用してデータベースを作成することができます。
CREATE DATABASE データベース名;
ただし、既に同じ名前のデータベースが存在する場合、エラーが発生します。これを回避するために、IF NOT EXISTS
を使用します。IF NOT EXISTS
を指定すると、既存のデータベースがある場合は何もせずに処理が終了します。
以下に具体的なコード例を示します。
CREATE DATABASE IF NOT EXISTS データベース名;
上記のコードでは、データベース名
には新しく作成するデータベースの名前を指定します。もし同じ名前のデータベースが既に存在する場合、エラーが発生せずに処理が終了します。
また、エラーハンドリングの一例として、PHPでMySQLを使用する場合のコード例を示します。
<?php
$servername = "サーバー名";
$username = "ユーザー名";
$password = "パスワード";
try {
$conn = new PDO("mysql:host=$servername;dbname=データベース名", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "データベースに接続しました。";
} catch(PDOException $e) {
if ($e->getCode() == 1049) {
// データベースが存在しない場合の処理
echo "データベースが存在しません。新しく作成します。";
$conn = new PDO("mysql:host=$servername", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("CREATE DATABASE データベース名");
echo "データベースを作成しました。";
} else {
echo "エラーが発生しました: " . $e->getMessage();
}
}
?>
以上がMySQLでデータベースを作成し、既存のデータベースの存在を確認する方法の一例です。