MySQLでデータベースを作成する方法と既存のデータベースが存在するか確認する方法


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でデータベースを作成し、既存のデータベースの存在を確認する方法の一例です。