/* 📖SQL語法 */
/* 資料型別 */
/* 如何建庫 */
/* 選擇資料庫 */
USE DB
/* 建表 */
/*
CREATE TABLE [所有者.]<表名>(
<列名><資料型別> [列完整性約束][
,<列名><資料型別> [列完整性約束]
...
][
,<表完整性約束>
]
)[ON {檔案組|Default}]
*/
CREATE TABLE person
(
id char(16) NOT NULL PRIMARY KEY,/*添加主鍵*/
name char(5) NOT NULL,
sex nchar(1) NOT NULL CHECK(sex IN('男', '女'))/*nchar一個字符占兩個位元組*/
)/*在默認檔案組中(未指定默認檔案組則主檔案組即默認檔案組)*/
CREATE TABLE personinf
(
id char(16) NOT NULL PRIMARY KEY,/*添加主鍵*/
perId char(18),
dateofbirth date NULL,
wechat char(20) NULL,
tel char(12) NOT NULL UNIQUE,/*唯一索引*/
email varchar(64) NULL,
college nvarchar(20) NULL,
com nvarchar(20) NULL,
addr nvarchar(64) NULL,
nation nchar(5) NULL,
intro nchar(300) NULL,
atta char(64) NULL,
FOREIGN KEY (id) REFERENCES person(id)/*外鍵*/
) ON GROUP1
CREATE TABLE usergroup
(
id bigint identity(0, 1) NOT NULL PRIMARY KEY,/*自增從0開始遞增1*/
name char(20) NOT NULL,
annotation char(1024) NULL
) ON GROUP1
CREATE TABLE per_group
(
gid bigint NOT NULL,
pid char(16) NOT NULL,
PRIMARY KEY (pid, gid),
FOREIGN KEY (pid) REFERENCES person(id),
FOREIGN KEY (gid) REFERENCES usergroup(id)
) ON GROUP1
CREATE TABLE article
(
id bigint identity(0, 1) NOT NULL PRIMARY KEY,
atype nchar(2) NOT NULL,
author char(16) NULL,
title nchar(100) NOT NULL,
createtime datetime NOT NULL,
modifytime datetime NOT NULL,
intro nchar(256) NULL,
FOREIGN KEY (id) REFERENCES article(id)
) ON GROUP1
CREATE TABLE articleinf
(
id bigint NOT NULL PRIMARY KEY,
val text NOT NULL,
FOREIGN KEY (id) REFERENCES article(id)
)
CREATE UNIQUE INDEX courseIdUnique ON usergroup(name)/*添加索引*/
DROP INDEX usergroup.courseIdUnique/*移除索引*/
ALTER TABLE usergroup ADD intro text NULL, managerId char(16) NOT NULL/*添加列*/
ALTER TABLE usergroup DROP COLUMN intro,managerId/*洗掉列*/
ALTER TABLE usergroup ALTER COLUMN name char(40)/*修改列*/
/* 斷言 */
/*
CREATE ASSERTION <名稱><CHECK子句>
*/
/*
CREATE ASSERTION max_usergroup_size/*但是似乎不能支持*/
CHECK 300>=ALL(SELECT count(*) FROM per_group GROUP BY gid)/*當gid與將要插入的值的gid相等的行達到300時,CHECK子句回傳false(即條件為真時CHECK回傳假),斷言生效使得資料無法再插入*/
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/242958.html
標籤:其他
下一篇:oracle權限問題
