1.定义基本表语句
maksudnya:
GUNAKAN 数据库名 BUAT TABEL 表名 (列名 类型(大小) DEFAULT'默认值',
列名 类型(大小) DEFAULT'默认值',
列名 类型(大小) DEFAULT'默认值',
... ...);
注:绿色部份是可以省略的。
Contoh:CREATE TABLE S (SNO char(2), SNAME char(8), AGE desimal(2), SEX char(2) DEFAULT'男', DEPT char(2));
创建了一个五列的表,其中第四列的默认值为'男'。
--------------------------------------------------- ------------------------------
2.定义完整性约束
maksudnya:
GUNAKAN 数据库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 类型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
列名 类型(大小) DEFAULT'默认值' CONSTRAINT 约束名 约束定义,
... ...);
注:(1) 绿色部份是可以省略的。
(2) 一个列是可以有多个约束的。
约束定义:
(1)BATAL | NOT NULL 用于定义列的空值约束。(定义列) (下面的蓝色部份是单选其中之一)
Batasan: Batasan NULL | BUKAN BATAL
Jawabannya:
A. NOT NULL dan NULL 值。
B. NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。
misalnya:
Contoh SQL untuk "Id_P" dan "LastName" untuk NULL:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255)
)
(2)UNIK 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
语法:KENDALA 约束名 UNIK (列名, 列名, ... ...);
说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列bisnis asuransi kesehatan. UNIK, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, Bisnis, dan Bisnis, Bisnis, dan Bisnis上不能取同样的值。
Jawabannya:
A. UNIK 约束唯一标识数据库表中的每条记录。
B. UNIK 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
C. PRIMARY KEY 拥有自动定义的 UNIK 约束。
d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
misalnya:
Menggunakan SQL, "Orang" dan "Id_P" dan UNIQUE 约束:
MySQL:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
UNIK (Id_P)
)
Akses SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN NULL UNIK,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255)
)
如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:
Akses MySQL / SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
CONSTRAINT uc_PersonID UNIK (Id_P,Nama Belakang)
)
(3)KUNCI UTAMA 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, ... ...);
说明:用于定义基本表的主键。与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果PRIMARY KEY 约束,那么其中在任何一个列都不能出现空值;而 UNIQUE 约束允许出现空值。
Jawabannya:
A. 主键必须包含唯一的值。
B. NULL 值。
C. 每个表应该都一个主键,并且每个表只能有一个主键。
misalnya:
Menggunakan SQL dan "Orang" dan "Id_P" dan PRIMARY KEY :
MySQL:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
KUNCI UTAMA (Id_P)
)
Akses SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN KUNCI UTAMA NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255)
)
如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:
Akses MySQL / SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
KUNCI UTAMA uc_PersonID CONSTRAINT (Id_P, Nama Belakang)
)
(4)Kunci ASING 外键 (即可以定义列也可能定义表)
语法:KENDALA 约束名 KUNCI ASING (列名, 列名, ... ...) REFERENSI (列名, 列名, ... ...) ;
说明:指定某一个列或多个列的组合作为外部键的主键或唯一键之间建立联系. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, bisnis asuransi kesehatan键值或唯一键值,要么取空值。
Jawabannya:
a.在REFERENSI 中引用的列必须和 FOREIGN KEY 的外部键列一一对应,即列数目相等并且相应列的数据类型相同。
misalnya:
下面的 SQL 在 "Orders" dan "Id_P" 列创建 FOREIGN KEY:
MySQL:
BUAT TABEL Pesanan
(
O_Id ke BUKAN NULL,
Tidak Ada Pesanan ke dalam BUKAN NULL,
Id_P ke dalam,
KUNCI UTAMA (O_Id),
REFERENSI KUNCI ASING (Id_P) Orang (Id_P)
)
Akses SQL Server / Oracle / MS:
BUAT TABEL Pesanan
(
O_Id int BUKAN KUNCI UTAMA NULL,
Tidak Ada Pesanan ke dalam BUKAN NULL,
Id_P int REFERENSI KUNCI ASING Orang (Id_P)
)
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
Akses MySQL / SQL Server / Oracle / MS:
BUAT TABEL Pesanan
(
O_Id ke BUKAN NULL,
Tidak Ada Pesanan ke dalam BUKAN NULL,
Id_P ke dalam,
KUNCI UTAMA (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENSI Orang (Id_P)
)
(5)PERIKSA 约束用于限制列中的值的范围。 (即可以定义列也可能定义表)
语法:KENDALA 约束名 CHECK (约束条件);
说明:用于指定基本表中的每一条记录必须满足的条件,可以对基本表在各个列上的值做进一步的约束,如成绩列的取值既不能大于100,也不能小于0。
Jawabannya:
A. 如果对单个列定义 PERIKSA 约束,那么该列只允许特定的值。
B. 如果对一个表定义 PERIKSA 约束,那么此约束会在特定的列中对值进行限制。
misalnya:
Menggunakan SQL dan "Orang" dan "Id_P" dan CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。
SQL saya:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
PERIKSA (Id_P>0)
)
Akses SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN PERIKSA NULL (Id_P>0),
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255)
)
如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
Akses MySQL / SQL Server / Oracle / MS:
BUAT TABEL Orang
(
Id_P int BUKAN NULL,
Nama Belakang varchar(255) BUKAN NULL,
Nama Depan varchar(255),
Alamat varchar(255),
Varchar kota(255),
CONSTRAINT chk_Person CHECK (Id_P>0 DAN Kota='Sandnes')
)
--------------------------------------------------- ------------------------------
Contoh: GUNAKAN lijintao BUAT TABEL S2
(SNO CHAR(2) KUNCI UTAMA S_PRIM KONSTRAINT,
SN CHAR(8) KENDALA SN_CONS BUKAN NULL,
AGE NUMERIC(2) CONSTRAINT AGE_CONS BUKAN NULL CONSTRAINT AGE_CHK CHECK (USIA ANTARA 15 DAN 45),
SEX CHAR(2) DEFAULT '男' CONSTRAINT SEX_CHK CHECK(SEX = '男' ATAU SEX = '女'),
DEPT CHAR(2) CONSTRAINT DEPT_CONS BUKAN NULL);
Bacaan CSDN tentang: http://blog.csdn.net/Qingqinglanghua/archive/2009/12/21/5051563.aspx
-