1.資料型別
| SqlServer | sql99 | 說明 | (拓展) |
|---|---|---|---|
| char(n) | character | 固定長度 | |
| varchar(n) | character varying | 可變長度的字串 | varchar2 是oracle的 |
| nchar(n) | national characte | 固定長度的Unicode資料 | 字符復雜就用n |
| nvarchar(n) | national character varying | 可變長度的Unicode資料 | 字符復雜就用n |
| Datetime | 無 | 占用8位元組空間,存盤從1753年1月1日到9999年12月31日 | 沒遵循規范 |
(2)字串型
字串型資料由漢字、英文字母、數字和各種符號組成,目前字符的編碼方式有兩種:一種是普通字符編碼,另一種是 Unicode(統一字符編碼),普通字符編碼指的是不同國家或地區的編碼長度不一樣,比如,英文字母的編碼是 1 個位元組(8 位),中文漢字的編碼是2 個位元組(16 位),Unicode 編碼不管對哪個地區、哪種文字均采用雙位元組(16 位)編碼,即將世界上所有的字符統一進行編碼,比如:'123’這樣的資料如果采用普通字符編碼保存需要 3 個位元組的空間,而采用 Unicode 編碼保存需要 6 個位元組的空間,
2.約束
主碼約束 PRIMARY KEY
非空約束 NOT NULL
檢查約束 CHECK
唯一約束 UNIQUE
默認值約束 DEFAULT
外碼約束 foreign key 從表(外鍵欄位名稱) references 主表(主鍵欄位名稱)
課堂創建三個表
create table Book(
book_ID char(10) primary key,
name varchar(30) not null,
author varchar(10),
publish varchar(20),
price decimal(6,2) check(price>0),
classify varchar(20)
)
create table Reader(
reader_ID char(10) primary key,
name varchar(8),
sex char(2),
birthdate datetime
)
create table Borrow(
book_ID char(10),
reader_ID char(10),
borrowdate datetime,
returndate datetime,
primary key(book_ID,reader_ID),
foreign key(book_ID) references Book (book_ID)
)
課后作業
create table Student(
sno char(7) primary key,
sname char(10) not null,
ssex char(2) check(ssex='男'or ssex='女'),
sage int check(sage>=15 and sage<=45),
sdept char(20) default('計算機系')
)
create table Course(
cno char(10) primary key,
cname char(20) not null,
ccredit int check(ccredit>0),
semester int check(semester>0),
period int
)
create table Sc(
sno char(7) ,
cno char(10),
grade int check(grade>=0 and grade<=100),
primary key(sno,cno),
foreign key(sno) references Student(sno),
foreign key(cno) references Course(cno)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/90723.html
標籤:其他
