NOT NULL
すべての列のデフォルト値はNULLです。 Not Null制約は、列の値がnullにならないようにします。この制約は、列に何らかの値があることを常に確認します。このフィールドに値を指定せずにレコードを挿入または更新することはできません。ユーザーは、この制約をテーブルの単一または複数またはすべての列に追加できます。構文: CREATE TABLE table_name(列1のデータ型NOT NULL、………); 例: テーブルSTUDENT(student_id int NOT NULL、student_name varchar(10)、student_dept varchar(10)NOT NULL、classyear int);を作成します。 上記の例では、 NOT NULL テーブルの作成中に、STUDENTテーブルの2つの列student_idとstudent_deptに制約が適用されます。 STUDENTテーブルの説明は、どの列をNULLにすることができるか、またはNULLにすることができないかを示しています。テーブルに値を挿入するときの出力画面を参照してください。null制約ではないため、制約が適用されるフィールドにNULL値を入力することはできません。 UNIQUE 一意の制約により、列のエントリが重複しないようにします。 1つのテーブルに複数の一意のキーを含めることができます。構文: CREATE TABLE table_name(列1のデータ型UNIQUE、………); 例: テーブルstudent(student_id int Unique、student_name varchar(10)unique、student_dept varchar(10)not null、classyear int);を作成します。 上記のクエリは他の形式で記述できます。 テーブルstudent(student_id int、student_name varchar(10)unique、student_dept varchar(10)not null、classyear int、unique(student_id));を作成します); #一度に一意の複数の列を定義します 構文: CREATE TABLE table_name(列1のデータ型、………列n、制約制約名一意(列1、..)); 例: テーブルstudent(student_id int、student_name varchar(10)unique、student_dept varchar(10)not null、classyear int、Constraint cs_studentunique(student_id、student_name));を作成します。 #ALTERステートメントを使用してUNIQUE制約を追加する構文: テーブルtable_nameAddUnique(column_name); 例:を変更します テーブルStudentAddUnique(student_id); 構文を変更: テーブルtable_nameAdd制約の変更constraint_nameUnique(column1、column2); 例: テーブルStudentAddConstraintの変更cs_studentUnique(student_id、student_name);主キー 主キーは列内の各レコードを一意に識別し、1つのテーブルには単一の主キーがあります。主キーは単一の列または列のグループにすることができます。構文: テーブルtable_name(column data type Primary key、column2 data type、………); 例:を作成します テーブルSTUDENT(student_id int Primary Key、student_name varchar(20)、student_dept varchar(20)、classyear int);を作成します。 構文: テーブルtable_name(column1データ型、column2データ型、………column nデータ型、主キー(column_name)); 例:を作成します。 テーブルStudent(student_id int、student_name varchar(10)、student_dept varchar(10)、classyear int、Primary key(student_id));を作成します。 #ALTERステートメントの使用 構文: テーブルtable_nameadd主キー(column_name);を変更します。 例: 表studentadd主キー(student_id);を変更します。 構文: 表table_namedropの主キーを変更します;例: テーブルstudentdropの主キーを変更します。デフォルト
DEFAULT制約は、デフォルト値を列に設定するために使用されます。この制約は、単一の列または複数の列に適用できます。 NULLは、テーブル内のすべての列のデフォルト値です。ユーザーがいずれかの列にnullまたは主拘束を適用しない場合、そのデフォルト値が変更されます。構文: テーブルtable_nameを作成します(列データ型、……。列データ型のデフォルト値); 例: テーブルstudentを作成します(student_id int、student_name varchar(20)、student_dept varchar(20)default'IT'、classyear int); 出力画面にデフォルト値が表示されます「IT」 列student_deptに割り当てられます。 「IT」 列student_deptに設定された値 列student_deptに値が指定されていない場合 。 #ALTERステートメントを使用して列にDEFAULT制約を追加する 構文: alter table table_namealtercolumn_namesetデフォルト値;例: テーブルstudentalterstudent_deptsetのデフォルトの変更'CS'; 構文: alter table table_namealter column_namedrop default; 例: テーブルstudentalterstudent_deptdropのデフォルトを変更します; 外部キー 外部キーは、2つのテーブル間のリンクです。あるテーブルの主キーは、別のテーブルの参照/外部キーにすることができます。子テーブルと呼ばれる外部キーを含むテーブルと、そのテーブルを参照する主キーを持つ他のテーブルが親テーブルになります。親テーブルにデータが存在しない場合、ユーザーは子テーブルの前に親テーブルにレコードを入力する必要があります。 1つのテーブルに単一の主キーを含めることができます。DEPARTMENTテーブルDEPT_ID | DEPT_NAME | DEPT_HEAD | DEPT_LOC |
0001 | 06 | ||
0002 | 04 | ||
0003 | 05 | ||
0004 | 07 |
STUDENT_ID | STUDENT_NAME | DEPT_NAME |
10001 | 02 | |
10002 | 04 | |
10003 | CS | 01 |
10004 | 01 |