本記事では、SQLステートメントを使用してデータベースを作成する方法について説明します。また、データベース作成の前提条件、データベースの概要、制限事項および推奨事項などを紹介し、いくつかの例も示します。
データベースの概要
OceanBaseデータベースでは、データベースには複数のテーブルやインデックス、およびデータベースオブジェクトのメタデータ情報が含まれます。本番環境では、test データベースなどのデフォルトデータベースの使用は可能な限り避けてください。
前提条件
データベースを作成する前に、以下の事項を確認してください:
OceanBaseクラスタをデプロイし、MySQLモードのテナントを作成していること。OceanBaseクラスタのデプロイに関する詳細は、デプロイの概要を参照してください。
OceanBaseデータベースのMySQLテナントに接続していること。データベースへの接続に関する詳細は、接続方法の概要を参照してください。
CREATE権限を保有していること。現在のユーザー権限を確認する操作については、ユーザー権限の確認を参照してください。該当する権限を持っていない場合は、管理者に連絡し権限の付与を依頼してください。ユーザー権限に関する操作については、直接権限の付与を参照してください。
データベース作成の制限
OceanBaseデータベースでは、各データベース名はグローバルに一意である必要があります。
データベース名の長さは最大128文字です。
大文字、小文字、数字、アンダースコア、ドル記号、中国語文字のみを含みます。
予約語をデータベース名として使用することは避けてください。
OceanBaseデータベースMySQLモードの予約語の詳細については、予約語を参照してください。
データベース作成の推奨事項
データベースには、その用途と内容を反映するような意味のある名前を付けることを推奨します。例えば、
アプリケーション識別子_サブアプリケーション名(オプション)_dbをデータベース名として使用します。データベースと関連するユーザーの作成には
rootユーザーを使用し、データベースのセキュリティと制御性を確保するために必要な権限のみを付与することを推奨します。データベース作成時には、データの正しい格納とソートを保証するため、適切なデフォルトの文字セットと照合順序を設定してください。ビジネスの長期的な発展に対応するため、データベース作成時には
utf8mb4文字セットエンコーディングを使用し、ほとんどすべての文字を格納できるようにすることを推奨します。バッククォート(`)で囲むことで、数字のみで構成されるデータベース名を作成できますが、この方法は推奨されません。数字のみで名付ける場合、明確な意味がなく、クエリの実行や使用時には常にバッククォート(`)が必要となるため、不必要な複雑さが生じ、混乱を招く可能性があります。
データベースがサポートする文字セットエンコーディングの詳細については、データベースレベルの文字セットを参照してください。
コマンドラインを使用してデータベースを作成する
CREATE DATABASE ステートメントを使用してデータベースを作成してください。
CREATE DATABASE ステートメントの形式は次のとおりです:
CREATE DATABASE [IF NOT EXISTS] database_name [database_option_list];
パラメータ説明:
database_name:データベース名。database_option_list:データベースの特性、動作、プロパティを設定するオプションリスト。例:文字セット、照合順序など。
説明
SHOW DATABASES; ステートメントを使用して、テナント内のデータベース情報を確認できます。
例
例1:データベースを作成し、文字セットを指定する
データベース test_db を作成し、文字セットを utf8mb4 に指定します。
obclient [(none)]> CREATE DATABASE test_db DEFAULT CHARACTER SET utf8mb4;
例2:読み取り専用属性のデータベースを作成する
読み取り専用属性のデータベース test_ro_db を作成します。
obclient [(none)]> CREATE DATABASE test_ro_db READ ONLY;
例3:読み書き属性のデータベースを作成する
読み書き属性のデータベース test_rw_db を作成します。
obclient [(none)]> CREATE DATABASE test_rw_db READ WRITE;
次のステップ
データベースの作成後、以下の一般的な操作を実行できます:
- データベース内に必要なテーブルを作成し、テーブルの構造とフィールドを定義します。テーブルの作成に関する詳細は、テーブルの作成を参照してください。
- 必要に応じて、既存のデータを新しく作成したデータベースに移行できます。データ移行の詳細については、データ移行の概要を参照してください。