sql >> データベース >  >> RDS >> Mysql

MySQLデータベースを作成する

    MySQLでデータベースを作成するのは、簡単です。必要なのは1行だけです。実際、データベースの名前を作成するよりも、データベースの名前を考える方が通常は時間がかかります。

    MySQL Workbench GUIを使用してデータベースを作成することは確かに可能ですが、CREATE DATABASEを使用してプログラムでデータベースを作成する方がおそらく速いでしょう。 ステートメント。

    CREATE DATABASE ステートメント

    CREATE DATABASEを使用して新しいデータベースを作成できます 声明。このステートメントは、データベースのクエリとプログラミングのための特別な目的の言語であるSQLの一部です。

    構文はCREATE DATABASE db_name ここで、db_name 作成するデータベースの名前です。

    たとえば、FruitShopというデータベースを作成するには [クエリ]タブに次のように入力して、クエリを実行します。

    CREATE DATABASE FruitShop;

    必要なのはそれだけです。 SCHEMAS 左側のメニューのタブにデータベースが表示されているはずです:

    データベースが表示されない場合は、 SCHEMAS の横にある小さな更新アイコンをクリックします。 見出し。

    次のコマンドを使用して、サーバー上のデータベースのリストを表示することもできます。

    SHOW DATABASES;

    しかしもちろん、これで空のデータベースができました。完全に機能するデータベースを作成する前に、テーブルを追加してデータを挿入する必要があります。すぐにわかります。

    CREATE SCHEMA ステートメント

    CREATE SCHEMAを使用することもできます 声明。これは同じ構文を使用するため、上記のステートメントは次のように書き直すことができます。

    CREATE SCHEMA FruitShop;

    IF NOT EXISTSの使用

    IF NOT EXISTSを使用できます データベースがすでに存在する場合にエラーが発生するのを防ぐため。次に例を示します:

    CREATE DATABASE IF NOT EXISTS FruitShop;

    DROP DATABASE IF EXISTSの使用

    上記のIF NOT EXISTSを使用する データベース(およびそのすべてのデータ)を新しいものに置き換える意図がない限り、これは素晴らしいことです。ただし、古いデータベースを削除して、最初からやり直したい場合があります。ここでDROP DATABASE 重宝します。

    DROP DATABASEを使用できます CREATE DATABASEを実行する前に、データベース内のすべてのテーブルを削除し、データベースを削除します。 声明。これをIF EXISTSと組み合わせることができます データベースが現在存在する場合にのみステートメントを実行するように指定します。これにより、実際には存在しないデータベースを削除しようとした場合にエラーが発生するのを防ぐことができます。

    したがって、次のようになります。

    DROP DATABASE IF EXISTS FruitShop;
    CREATE DATABASE FruitShop;

    セミコロンについて

    上記の例ではセミコロン(;)を使用しています )各ステートメントの終わりをマークします。 MySQLコマンドは通常、SQLステートメントとそれに続くセミコロンで構成されます。いくつかの例外がありますが、ほとんどのコマンドはこの規則に従います。作成したコマンドが実行されない場合は、各ステートメントの後にセミコロンが含まれていることを確認してください。

    データベース設計

    データベースを作成する前に、その設計について考える必要があります。データベースに格納されるデータだけでなく、どのテーブルやその他のオブジェクトが含まれるかを考える必要があります。

    実際には、データベースを作成するときは、空のデータベースを作成して、後でどのテーブルをデータベースに入れるかを考えるだけではありません。通常は、データベースとそのすべてのテーブルおよびその他のオブジェクトをすべて一度に作成するスクリプトを作成します。

    幸い、これを行うのは非常に簡単です。作成するオブジェクトごとに、SQLステートメントを次々に組み合わせるだけです。

    次にテーブルの作成について見ていきますが、今のところ、簡単な例を次に示します。

    DROP DATABASE IF EXISTS FruitShop;
    CREATE DATABASE FruitShop;
    USE FruitShop;
    
    CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);

    これは、データベースとそのデータベース内にテーブルを作成する簡単な例です。データベースと多くのテーブル、およびその他のデータベースオブジェクトを作成する長いスクリプトを作成できます。

    テーブルに必要な初期データを入力する別のスクリプトを作成することもできます。必要に応じて、両方のスクリプトを1つにまとめることもできます。

    命名規則

    一貫した命名規則を維持することをお勧めします。データベースをFruitShopと呼ぶことができます (タイトルケース)、FRUITSHOP (大文字)、fruitshop (小文字)、fruit_shop (アンダースコア区切り文字付き)など

    データベースオブジェクトにプレフィックスを付けることを好む人もいます。たとえば、テーブルの前にtblを付けます またはtbl_ spを使用したスト​​アドプロシージャ またはsp_ 。したがって、テーブルはtblCustomersと呼ぶことができます。 またはtbl_customers など

    複数形についても考える必要があります。すべての顧客レコードを保持するテーブルを呼び出しますかcustomer またはcustomerscustomersを選択した場合 、次に、すべての製品を保持するテーブルを呼び出す必要がありますproducts productではありません 。

    どちらを選択する場合でも、データベース全体で同じ規則を維持するようにしてください。

    命名規則を確立すると、データベースに対してクエリを作成し始めるときに非常に役立ちます。特定のテーブルにアンダースコアやタイトルケースなどで名前を付けたかどうかを覚えておく必要はありません。


    1. 致命的なエラー:キャッチされない例外'mysqli_sql_exception'とメッセージ'クエリ/プリペアドステートメントでインデックスが使用されていません'

    2. MS-Accessレコードセットおよびクラスモジュール

    3. Postgresのselectステートメントで式を評価する方法

    4. OracleDatabaseで有効なタイムゾーンのリストを返す方法