制約
制約は、テーブルの列内のデータ型のデータテーブルの制限に関する規則に適用されます。制約は、データベース内の精度と信頼性のデータを確実にあります。
制約は、列または表レベル、単一のカラムに適用し、カラムレベルの制約は、テーブルレベルの制約は、全体のデータテーブルに適用することができます。
SQLiteの一般的な制約:
- NOT NULL制約:列がNULL値を持つことができないことを確認してください。
- DEFAULT制約:列の値が挿入されていない場合、その列のデフォルト値を提供します。
- UNIQUE制約:列のすべての値が異なっていることを保証します。
- PRIMARY KEY制約:一意にデータベーステーブルを識別するデータ。
- FOREIGN KEY制約:テーブルは別のテーブルでFOREIGN KEY PRIMARY KEYを指しています。
- 制約をチェック:すべての値が列に一定の条件を満たしていることを確実にするために。
NOT NULL制約
デフォルトでは、列にはNULL値を保持することができます。あなたは、列がNULL値を持っていたくない場合は、NULL値がこの列に許可されていません指定された列に、この制約を定義する必要があります。
NULLとデータのない、それは未知のデータを表し、同じではありません。
-- 实例
CREATE TABLE link_men (
ID INT PRIMARY KEY NOT NULL;
NAME TEXT NOT NULL
)
DEFAULT制約
INSERT INTO文でDEFAULT制約は、デフォルト値を提供するために、列の特定の値を提供していません。
-- 实例
CREATE TABLE link_men(
ID INT PRIMARY KEY NOT NULL;
NAME TEXT NOT NULL;
ADDRESS TEXT NOT NULL;
SALARY REAL DEFAULT 8000.00
)
UNIQUE制約
UNIQUE制約は、特定の列に同じ値を有する2つのレコードが存在することを防止します。
-- 实例
CREATE TABLE link_men(
ID INT PRIMARY KEY NOT NULL;
NAME TEXT NOT NULL;
AGE INT NOT NULL UNIQUE;
ADDRESS TEXT;
SALARY REAL DEFAULT 8000.00
)
PRIMAY KEY制約
PRIMARY KEY制約は、一意のデータベーステーブル内の各レコードを識別する。
主キーは、一意の値が含まれている必要があります。
主キー列がNULL値を含めることはできません。
各テーブルには主キーを持っている必要があり、各テーブルには1つのプライマリキーを持つことができます。
-- 实例
CREATE TABLE link_men(
ID INT PRIMARY KEY NOT NULL;
NAME TEXT NOT NULL;
AGE INT NOT NULL UNIQUE;
ADDRESS TEXT;
SALARY , REAL DEFAULT 8000.00
)
FOREIGN KEY制約
別のテーブルにFOREIGN KEY PRIMARY KEYを指しているテーブル。
-- 实例
CREATE TABLE link_men (
ID INT PRIMARY KEY NOT NULL;
NAME TEXT NOT NULL;
AGE INT NOT NULL UNIQUE;
ADDRESS TEXT;
SALARY REAL DEFAULT 8000.00;
FOREIGN KEY (P_ID) REFERENCES persons(P_ID);
)
CHECK制約
CHECK制約を使用すると、条件値を確認したいレコードを入力を可能にします。条件がfalseの場合、レコードが制約に違反して、テーブルに入力することはできません。
CREATE TABLE link_men(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS TEXT,
SALARY REAL CHECK(SALARY > 0)
);