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

SQLで主キーを作成する方法

    問題:

    データベース内のテーブルの主キーを作成したい。

    例:

    product

    ソリューション1(新しいテーブル):

    CREATE TABLE product (
    id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    producer VARCHAR(100) NOT NULL,
    price DECIMAL(7,2)
    );
    

    ディスカッション:

    主キーとして定義された列を持つ新しいテーブルを作成するには、キーワードPRIMARY KEYを使用できます。 その列の定義の最後にあります。この例では、テーブルproduct CREATE TABLEを使用する 列の名前とそれぞれのデータ型を括弧で囲んだ句。このテーブルの主キーとして列IDを選択するため、PRIMARY KEYを指定します。 この列の定義の最後にあります。

    特定のテーブルに対して作成できる主キーは1つだけであることに注意してください。

    ソリューション2(新しいテーブル):

    CREATE TABLE product (
    name VARCHAR(100) NOT NULL,
    producer VARCHAR(100) NOT NULL),
    price DECIMAL(7,2),
    PRIMARY KEY(name, producer)
    );
    

    ディスカッション:

    新しいテーブルの作成中に主キーを定義する別の方法は、PRIMARY KEYを使用することです。 列定義の最後にある句。この場合、1つ以上の列をPRIMARY KEYへの引数として指定します。 句;これらの列がテーブルの主キーになります。

    このアプローチでは、複数の列で作成された主キーが許可されることに注意してください。この例では、テーブルproduct nameの2つの列で構成されます およびproducer

    ソリューション3(既存のテーブル):

    ALTER TABLE product
    ADD PRIMARY KEY (id);
    

    ディスカッション:

    主キーがまだない既存のテーブルの主キーを定義することもできます。

    ここで、テーブルはALTER TABLEを使用して変更されます 句。テーブル(この例では、product )は、キーワードALTER TABLEにちなんで名付けられています 、次にADD PRIMARY KEY 句の後に、主キーとして使用される列の名前が続きます。このコマンドを実行する前にテーブルがすでに存在している必要があり、テーブルに主キーがない必要があることに注意してください。

    ソリューション4(既存のテーブル、主キーの制約):

    ALTER TABLE product
    ADD CONSTRAINT PK_product_id PRIMARY KEY (id);
    

    ディスカッション:

    既存のテーブルの主キー制約に名前を付ける場合は、このようなクエリを使用します。ここでは、主キーの制約であるPK_product_id 、列idから生成されます 。制約名を指定しない場合、データベースはデフォルトの制約名を生成します(名前はデータベースによって異なります)。


    1. YEAR()の例– MySQL

    2. postgresqlのwhere句の列エイリアスにアクセスします

    3. Node.jsとExpressを使用して最初のAPIをコーディングする:データベースを接続する

    4. 複数のスレッドを使用してファイルを書き込む