PostgreSQL:NULL句とNot NULL句の使用

データベーステーブルの不明な値は、SQLによって異なる扱いを受けます。 テーブルの1つ以上のフィールドを空白に設定する必要がある場合は、テーブル作成時にNULLキーワードが使用され、テーブルのデータの選択または挿入または更新にNULL値を使用できます。 NULL値は、ゼロまたは空の値を示しません。 これは、主に、値が欠落しているか不明であるか、または値が適用されないフィールドに使用されます。 ただし、テーブルのいずれかのフィールドを必須に設定する必要がある場合は、テーブルの作成時にNOT NULLキーワードを使用する必要があります。 このチュートリアルでは、PostgreSQLでNULL句とNOT NULL句を使用してselect、insert、update、delete SQL文を実行する方法を示します。

NULLおよびNOT NULLを使用してテーブルを作成します

テーブル会社を作成します
(company_id int NOT NULL主キー,
名前varchar(40)NOT NULL,
アドレスvarchar(150),
電話char(20),
国varchar(50),
website_url varchar(50)NULL);

テーブル項目の作成
(item_id SERIAL,
name varchar(40)DEFAULT(‘Not Assign’),
quantity INT NULL,
company_id INT,
PRIMARY KEY(item_id),
FOREIGN KEY(company_id)REFERENCES company(company_id) );

テーブルにいくつかのデータを挿入する:

会社テーブルに挿入する:

INSERT INTO company(company_id,name,address,phone,country,website_url)
VALUES(1,’Samsung’,’123….’,’+337277888′,’韓国’,’www.samsung.com’);
INSERT INTO company(company_id,name,address,phone,country,website_url)
VALUES(2,’Symphony’,’67/A….’,’+42343567′,’Chaina’,’www.symphony.com’);
会社に挿入(company_id,name,address,phone,country)
値(3,’LG’,’45/B….’,’,’,’,’,’,’,”);

項目テーブルへの挿入:

INSERT INTO items(name,quantity,company_id)
VALUES(‘LG122’,4000,3);
INSERT INTO items(name,quantity,company_id)
VALUES(‘Samsung460’,7000,1);
INSERT INTO items(name,quantity,company_id)
VALUES(‘Symphony E80’, 2200,2 );

例-1:SELECT Query

でNULLとNOT NULLを使用するa)NULL

次のクエリは、website_url値がnullであるcompanyテーブルからすべての名前とアドレスデータを取得します。 Website_url値がNULLのレコードは1つだけです。

会社から名前、住所
を選択します
ここで、website_urlはNULLです;

B)NOT NULL

NOT NULLの出力はNULLの反対です。 次のselectクエリは、website_urlフィールドにデータが含まれているcompanyテーブルからすべてのレコードを返します。

会社から名前、電話
を選択します
ここで、website_urlはNULLではありません;

例-2:挿入クエリ

でNULLまたはNOT NULLを使用すると、次のクエリは、companyテーブルのcompany_id値をwebsite_url値を持たないitemsテーブルに挿入します。 会社には、website_urlがNULLのレコードが1つあります。 そのため、クエリを実行した後に1つのレコードが挿入されます。

項目に挿入
(company_id)
SELECT company_id
from company
where website_url is NULL;

例-3:更新クエリでNULLを使用する

名前フィールド項目テーブルの値は、数量フィールドにNULLが含まれているレコードが更新されます。 データによると、クエリを実行した後に1つのレコードが更新されます。

アイテムを更新
セット名=’新しい値’
ここで、数量NULL;

例-4:UPDATE Query

でNULLまたはNOT NULLを使用すると、次のクエリは、quantity valueがNULLのitemsテーブルからレコードを削除します。 Itemsテーブルには、quantity値がNULLのレコードが1つだけあります。 そのため、クエリを実行した後に1つのレコードが削除されます。

数量がNULLの項目
から削除します;

テーブルにNULL値が含まれている場合は、WHERE句を使用してNULL句とNOT NULL句を適用して、テーブルに基づいてクエリを実行できます。 しかし、NULL値と空の文字列は同一ではありません。 NULLオプションなしでテーブルのフィールドを作成し、そのフィールドに空のデータを保持すると、NULL句はそのフィールドでは機能しません。 テーブル構造に基づいて、任意のテーブルにNULL句を適用できます。

コメントを残す

メールアドレスが公開されることはありません。