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

SQLでデータベースを作成するにはどうすればよいですか?

    SQLでデータベースを作成する方法

    • データをデータベースに保存するには、データベースを作成する必要があります。
    • データベース名は常に一意である必要があります。
    • SQLでは、サーバーにすでに存在する同じ名前のデータベースを作成することはできません。
    • 新しいデータベースを作成するときに一意性を確保するには、データベース管理者がサーバーにすでに存在するデータベースを認識している必要があります。
    • データベースを表示 コマンドはSQLで使用され、サーバーに存在するすべてのデータベースを一覧表示します。

    例:

    利用可能なすべてのデータベースを確認します。

     mysql> SHOW DATABASES;
     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | demo               |
     | mysql              |
     | performance_schema |
     | test               |
     +--------------------+
     5 rows in set (0.05 sec) 

    上記の例では、システムデータベース(information_schema、performance_schema、mysql)およびユーザー作成データベース(demo、test)を含む、サーバーに存在するすべてのデータベースが表示されます。

    • データベース管理者がSQLサーバーに存在する既存のデータベースの名前を理解すると、データベース管理者はSHOWDATABASESコマンドの出力を考慮して任意の名前のデータベースを作成できるようになります。

    SQLでデータベースを作成するための構文:

    CREATE DATABASE DATABASENAME;

    例: 「Exampledb」という名前の新しいデータベースを作成します。

    mysql> CREATE DATABASE Exampledb;

    「exampledb」という名前の新しいデータベースがサーバーに正常に作成されました。

    • データベースが正常に作成されるようにするために、SHOWDATABASESコマンドを再度使用します。

    例:

    「exampledb」が作成されているかどうかを確認するために、使用可能なすべてのデータベースを表示します。

    mysql> SHOW DATABASES;

    出力:

     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | demo               |
     | exampledb         |
     | mysql              |
     | performance_schema |
     | test               |
     +--------------------+ 

    これで、「exampledb」という名前で新しく作成されたデータベースもリストされていることがわかります。

    • CREATEDATABASEコマンドの代わりに使用できるのはCREATESCHEMA COMMAND 。どちらのクエリも、データベース作成の同じタスクを実行します。

    構文:

    CREATE SCHEMA DATABASENAME;

    例: 別のクエリを使用して、「testDB」という名前のデータベースを作成します。

    mysql> CREATE SCHEMA testDB;

    例: 「testdb」が作成されているかどうかを確認するために、使用可能なすべてのデータベースを表示します。

    mysql> SHOW DATABASES;

    出力

     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | demo               |
     | exampledb         |
     | mysql              |
     | performance_schema |
     | test               |
     | testdb             |
     +--------------------+
     7 rows in set (0.05 sec) 
    • 次のコマンドを使用して、作成済みのデータベースを確認することもできます。
    SHOW CREATE DATABASE DATABASE_NAME;

    例:

     We will review the already created database named as “exampledb”.
     mysql> SHOW CREATE DATABASE exampledb; 

    出力:

     +------------+-----------------------------------------------------------------------+
     | Database   | Create Database                                                       |
     +------------+-----------------------------------------------------------------------+
     | exampledb | CREATE DATABASE ` exampledb ` /*!40100 DEFAULT CHARACTER SET latin1 */ |
     +------------+-----------------------------------------------------------------------+
     1 row in set (0.00 sec) 

    ここでは、「exampledb」という名前のデータベースを作成するために使用されたコマンドが、文字セットとともに表示されます。そのデータベースの作成中に文字セットが指定されなかったため、データベースはデフォルトの文字セット、つまり latin1で作成されます。 。

    • データを特定のデータベースに保存するには、管理者が使用する特定のデータベースをサーバーに通知する必要があります。

    構文:

    USE DATABASE_NAME;

    例:

    特定のデータベースを操作するには、ユーザーは「exampledb」でさらにクエリを実行することをサーバーに通知する必要があります。

    mysql> USE exampledb;

    出力:

    Database changed

    「exampledb」という名前のデータベースを使用したため、以降のすべてのクエリはこの特定のデータベースで実行されます。

    CREATEステートメントのパラメーター

    パラメータと仕様を追加することで、CREATEDATABASEクエリを即興で作成することもできます。

    1. 存在しない場合

    1つのMySQLサーバーに複数のデータベースが存在する場合があります。 MySQLサーバー内にすでに存在するデータベースを作成しようとする場合があります。したがって、その場合、CREATEDATABASEクエリで「IFNOTEXISTS」パラメータを使用すると目的が果たされます。新しいデータベースを作成する前に、指定された名前でデータベースがすでに存在するかどうかを確認するようにサーバーに指示します。

    構文:

    CREATE DATABASE IF NOT EXISTS DATABASENAME;

    例:

    新しいデータベース「demodb」を作成するために、最初に使用可能なすべてのデータベースを表示し、次にその名前のデータベースがまだ存在しない場合は「demodb」を作成します。

    mysql> SHOW DATABASES;

    出力:

     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | demo               |
     | exampledb         |
     | mysql              |
     | performance_schema |
     | test               |
     | testdb             |
     +--------------------+
     7 rows in set (0.05 sec) 
     mysql> CREATE DATABASE IF NOT EXISTS demodb;
     Query OK, 1 row affected (0.00 sec) 

    以前は、「demodb」という名前のデータベースはありませんでした。これで、「demodb」という名前のデータベースが作成されます。 IF NOT EXISTSを使用せずに既存の名前でデータベースを作成しようとすると、その場合、SQLはエラーをスローします。

    例:

    次に、使用可能なすべてのデータベースを表示して、データベース「demodb」が作成されていることを確認します。

    mysql> SHOW DATABASES;

    出力:

     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | demo               |
     | demodb             |
     | exampledb        |
     | mysql              |
     | performance_schema |
     | test               |
     | testdb             |
     +--------------------+
     8 rows in set (0.00 sec) 

    ここで、「demodb」という名前のデータベースが作成されます。

    • 照合と文字セット

    照合は、比較に役立つ一連のルールです。 SQLデータを英語以外の異なる言語で保存できます。データを他の言語で保存するには、その特定の言語の文字セットを選択する必要があります。さまざまなレベルの文字セットには、サーバー、データベース、テーブル、および列が含まれます。文字セットを選択すると、照合のルールのみを選択できます。

    例:

    文字セットが「latin1」で照合ルールが「latin1_swedish_ci」の「sample」という名前の新しいデータベースを作成します。

    mysql> CREATE DATABASE IF NOT EXISTS sample CHARACTER SET latin1 COLLATE latin1_swedish_ci;

    ここで、「サンプル」データベースは、文字セットとしてlatin1を使用し、照合ルールとしてlatin1_swedish_ciを使用して作成されます。


    1. Railsの移行:PostgreSQL上のBigintが失敗しているようですか?

    2. データをHerokuにプッシュするときのエラー:タイムゾーンの変位が範囲外です

    3. SQLServerの論理演算子とは-SQLServer/TSQLチュートリアルパート124

    4. PostgreSQL:JSON列から属性を削除します