モジュール - 3 つの DDL コマンド
レッスン1SQLでテーブルを作成する
概要
SQL でテーブルを作成するには、CREATE TABLE コマンドを使用してテーブルの列とデータ型を定義する必要があります。テーブルを定義したら、他の SQL コマンドを使用してデータを挿入したり操作したりできます。 SQL でテーブルを作成する場合は、テーブルの名前、テーブル内の列の名前とデータ型、および主キー制約と外部キー制約を指定する必要があります。テーブルが作成されると、データを保存し、他の SQL コマンドで操作できるようになります。
SQL でテーブルを作成する手順
- テーブルに保存されるデータを特定します。
- テーブルの名前を選択します。
- 列とそのデータ型を定義します。
- 主キーと外部キーを設定します。
- データに適用する必要がある制約やルールを定義します。
- CREATE TABLE ステートメントを使用してデータベースにテーブルを作成します。
- INSERT INTO ステートメントを使用してテーブルにデータを挿入します。
SQL でのテーブルの命名に関するガイドライン
- わかりやすい名前を使用します。テーブルに保存されているデータを正確に反映する名前を選択してください。 「Table1」や「Table2」などの一般的な名前の使用は避けてください。
- 単数名詞を使用します。「Product」の代わりに「Product」などの単数名詞を使用します。
- アンダースコアと大文字を使用してください。テーブル名の単語を区切るには、アンダースコアと大文字を使用します。たとえば、「ProductOrder」ではなく「Product_Order」とします。
- 特殊文字は避けてください。テーブル名にはハイフンやスペースなどの特殊文字を使用しないでください。
- 説明的なものにしてください: Enテーブル名が、保存されているデータに関する十分な情報を提供していることを確認してください。たとえば、「Customer」というテーブルは、「Data」というテーブルよりもわかりやすいです。
- 略語は避けてください:混乱を招く可能性があるため、テーブル名に略語を使用しないでください。
- 一貫性を保つ:データベース内のすべてのテーブルで同じ命名規則を使用します。これにより、データベースが整理され、保守が容易になります。
SQL テーブルを使用する利点
- データ構成の改善:SQL テーブルは、より組織的かつ効率的にデータを保存する方法を提供します。また、理解しやすく、クエリしやすい方法でデータを構造化するのにも役立ちます。
- データセキュリティの強化:SQL テーブルはプレーン テキスト ファイルよりも安全です。テーブル内のデータにアクセスするには認証と承認が必要なため、悪意のある侵入者に対して脆弱ではありません。
- データの整合性と正確性の向上:SQL テーブルはデータに一貫した形式を提供するため、データの整合性と正確性を確保できます。
- スケーラビリティの向上:SQL テーブルは、組織のニーズに応じて簡単にスケールアップまたはスケールダウンできます。
- データの取得がより簡単に:SQL テーブルを使用すると、データのクエリのプロセスが簡素化され、必要な情報の検索と取得が容易になります。
SQL のテーブル制約について
- テーブル制約は、データベース テーブルが受け入れるデータの種類を指定するルールです。
- これらのルールは、テーブルに保存されているデータが有効で信頼できるものであることを確認するのに役立ちます。
- 制約を使用すると、データの整合性を強制したり、データの一貫性を維持したり、特定の操作が正しく実行されるようにしたりできます。
- テーブル制約には、主キー制約、外部キー制約、一意制約、チェック制約など、いくつかの種類があります。これらについては、後のレッスンで説明します。
SQL テーブル作成でのデータ型の使用
SQL テーブルを作成するときは、各列に適切なデータ型を使用することが重要です。これにより、データが正しい形式で保存され、エラーが最小限に抑えられます。たとえば、列に整数を格納する場合は、整数データ型として宣言する必要があります。同様に、列に 10 進数を格納する必要がある場合は、10 進数データ型として宣言する必要があります。適切なデータ型を使用することで、テーブルに保存されたデータが正確で、一貫性があり、有効であることを保証できます。
作成 テーブル学生の成績 (学生ID)整数 主要なキー、学生名可変長文字(50)いいえ ヌル、学年レベルsmallint いいえ ヌル、数学_グレード10進数(2、1)いいえ ヌル、科学グレード10進数(2、1)いいえ ヌル、履歴_グレード10進数(2、1)いいえ ヌル);
このコードは、6 つの列を持つ Student_grades というテーブルを作成します。
- Student_id (主キーとして機能する整数)
- Student_name (空にすることはできない最大 50 文字の文字列)
- Grade_level (空にはできない小さな整数)
- math_grade (空にすることはできない 2 桁と小数点以下 1 桁の 10 進数)
- science_grade (2 桁の小数点以下 1 桁を空にすることはできない 10 進数)
- History_grade (2 桁の小数点以下 1 桁を空にすることはできない 10 進数)
SQL でテーブルを変更するためのテクニック
- 他の机: このコマンドは、既存のテーブルの列を追加、削除、または変更するために使用されます。
- テーブルの作成:このコマンドは、データベースに新しいテーブルを作成するために使用されます。
- ドロップテーブル:このコマンドは、データベース内の既存のテーブルを削除するために使用されます。
- テーブルの切り捨て:このコマンドは、既存のテーブルからすべてのレコードを削除するために使用されます。
- テーブルの名前を変更:このコマンドは、既存のテーブルの名前を変更するために使用されます。
- アップデート:このコマンドは、テーブル内の既存のレコードを変更するために使用されます。
SQL テーブル作成を最適化するための戦略
- 適切なデータ型を選択します。各列に適切なデータ型を選択します。これにより、データが効率的に保存され、占有スペースが少なくなります。
- インデックスを作成します。頻繁に検索される列にインデックスを作成します。これはクエリのパフォーマンスを高速化するのに役立ちます。
- 主キーを使用します。主キーは、テーブル内の各行の一意の識別子です。データの整合性を確保するには、すべてのテーブルの主キーを定義することが重要です。
- データを正規化します。データを正規化して冗長性を減らし、データの整合性を確保します。
- パーティショニングを使用する:パーティショニングによりデータが複数のテーブルに分割されるため、クエリのパフォーマンスが向上します。
- 一時テーブルを使用します。大規模なデータセットに対して複雑なクエリを実行する必要がある場合は、パフォーマンスを向上させるために一時テーブルの使用を検討してください。
- 制約を使用します。制約は、データの整合性を確保するための優れた方法です。これらを使用すると、無効なデータがデータベースに入力されるのを防ぐことができます。
- テーブル結合を最小限に抑える:テーブル結合はコストがかかる場合があります。ビューを作成するかクエリ最適化手法を使用して、それらを最小限に抑えるようにしてください。
SQL テーブル作成のトラブルシューティングのヒント
- テーブル名が有効であることを確認してください。有効なテーブル名は文字で始まり、スペースや特殊文字を含めることはできません。
- 列のデータ型を確認します。列に選択したデータ型が、列に格納されるデータの型と一致していることを確認してください。
- 主キーと外部キーを定義します。主キーまたは外部キーとして指定する必要がある列がそのように定義されていることを確認してください。
- デフォルト値を設定します。デフォルト値を設定する必要がある列がある場合は、それらが正しく設定されていることを確認してください。
- テーブルの文字セットと照合順序を設定します。テーブルの文字セットと照合順序が、目的の言語または地域と一致するように設定されていることを確認してください。
- SQL 構文を検証します。SQL ステートメントを実行して、構文バリデーターを通じてテーブルを作成し、構文が正しいことを確認します。
- テーブルをテストします。テスト データを挿入し、テーブルにクエリを実行して、テーブルが期待どおりに動作していることを確認します。
SQLでのテーブル作成の例
作成 テーブル製品 (製品ID整数 いいえ ヌル、名前 可変長文字(50)、 価格お金、主キー(製品番号));
ProductID、Name、Price、主キーの 4 つの列を持つ Product テーブルを作成します。 ProductID は not null としてマークされます。つまり、データを入力するときに空白にすることはできません。 [名前] フィールドは最大 50 文字に制限されており、[価格] フィールドは金額データ型です。
作成 テーブル顧客 (顧客 ID整数 いいえ ヌル、名前 可変長文字(50)、 住所可変長文字(50)、 街可変長文字(50)、 州可変長文字(2)、 郵便番号整数、主キー(顧客ID));
CustomerID、Name、Address、City、State、ZipCode、および主キーの 7 つの列を持つ Customers という名前のテーブルを作成します。 CustomerID は not null としてマークされます。つまり、データを入力するときに空白にすることはできません。 Name、Address、City、State フィールドは最大 50 文字に制限されており、ZipCode フィールドは整数データ型です。
PostgreSQLでExcelファイルからデータにアクセスする
PostgreSQL の Excel シートからデータにアクセスするには、次の一般的な手順に従います。
- Excel シートを CSV (カンマ区切り値) ファイルとして保存します。
- pgAdmin またはその他の PostgreSQL クライアント ツールを開きます。
- Excel シートと同じ列名とデータ型を使用して、PostgreSQL に新しいテーブルを作成します。
- COPY コマンドを使用して、CSV ファイルから新しい PostgreSQL テーブルにデータをロードします。
pgAdmin を使用してこれを行う方法の例を次に示します。
- Excel シートを CSV ファイルとして保存します。
- pgAdmin で、データをロードするデータベースを右クリックし、「クエリツール」を選択します。
- 次の SQL コマンドを実行して、Excel シートと同じ列名とデータ型を持つ新しいテーブルを作成します。
作成 テーブルテーブル名 ( 列 1 データ_タイプ、列 2 データ_タイプ、...)
table_name、column1、column2 などをテーブルと列の実際の名前に置き換え、data_type を各列の適切なデータ型 (テキスト、数値、日付など) に置き換えます。
- 次の SQL コマンドを実行して、CSV ファイルから新しいテーブルにデータをロードします。
コピー テーブル名 から 「パス/csv/file.csv」 デリミタ 「、」CSVヘッダ;
table_name をテーブルの実際の名前に置き換え、path/csv/file.csv を CSV ファイルへの実際のパスに置き換えます。
これにより、CSV ファイルから新しい PostgreSQL テーブルにデータがコピーされます。これで、SQL コマンドを使用してデータをクエリできるようになります。
結論
このレッスンでは、格納するデータの識別、命名規則、データ型など、SQL でのテーブル作成の概要を説明します。また、テーブルの制約、テーブルの変更、テーブル作成の最適化、トラブルシューティングのヒントについても説明します。さらに、SQL でのテーブル作成の例や、PostgreSQL で Excel シートからデータにアクセスする例も含まれています。
重要なポイント
- CREATE TABLE ステートメントを使用して、データベースに新しいテーブルを作成します。
- CREATE TABLE ステートメントでテーブル名、列名、およびそれらのデータ型を指定します。
- 主キーを使用してテーブル内の各行を識別し、外部キーを使用してテーブル間の関係を確立します。
- NOT NULL 制約を使用して、列が空でないことを確認します。
- CHECK 制約を使用して、列に入力されたデータを検証します。
- DEFAULT 制約を使用して、列のデフォルト値を設定します。
- UNIQUE 制約を使用して、列内の値が重複しないようにします。
- INDEX を使用すると、クエリのパフォーマンスが向上します。
クイズ
1. SQL でテーブルを作成するにはどのようなコマンドが使用されますか?
- テーブルの作成
- 他の机
- ドロップテーブル
- テーブルの選択
答え:a.テーブルの作成
2. SQL で既存のテーブルに列を追加するには、どのステートメントが使用されますか?
- 列の作成
- 列の追加
- 列の変更
- コラムを更新
答え:b.列の追加
3. SQL でテーブルに列を追加するための構文は何ですか?
- ADD TABLE 列名 データ型
- CREATE TABLE 列名 データ型
- ALTER TABLE ADD column_name データ型
- UPDATE TABLE 列名 データ型
答え: c. ALTER TABLE ADD column_name データ型
4. SQL でテーブルを作成するための構文は何ですか?
- CREATE TABLE table_name (column_name データ型)
- ALTER TABLE table_name (column_name データ型)
- DROP TABLE table_name (column_name データ型)
- SELECT TABLE table_name (column_name データ型)
答え:a. CREATE TABLE table_name (column_name データ型)
関連プログラム
5 LPA 以上の配置保証を備えたフルスタック データ サイエンス
20,000人がこのコースを受講しています
30 週間で即戦力のデータ サイエンス プロフェッショナルになれます。インド最大のテクノロジー コミュニティに参加しましょう。 5 LPAを超える仕事に就いた場合にのみ支払います。
関連チュートリアル
1061
関連記事
11分
2346
9分
2050年
7分
4590