第1个回答 2020-01-25
USE
bankDB
GO
CREATE
TABLE
cardInfo
(
cardID
varchar(19)
not
null,
--卡号
curType
varchar(10)
not
null,
--货币种类
默认为人民币
savingType
varchar(8)
not
null,
--存款类型
活期、定期
openDate
datetime
not
null,
--开户日期
openMoney
money
not
null,
--开户金额
balance
money
not
null,
--余额
pass
int
not
null,
--密码
6位数字,默认为6个‘8’
IsReportLose
char(2)
not
null,
--是否挂失
默认为“否”
customerID
int
not
null
--顾客编号,外键(一位顾客允许办理多张卡)
)
go
ALTER
TABLE
cardInfo
ADD
CONSTRAINT
PK_cardID
PRIMARY
KEY(cardID),
CONSTRAINT
CK_cardID
CHECK(cardID
LIKE
'1010
3576
[0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9]'),
CONSTRAINT
DF_curType
DEFAULT('人民币')
FOR
curType,
CONSTRAINT
DF_openDate
DEFAULT(getdate())
FOR
openDate,
CONSTRAINT
CK_openMoney
CHECK(openMoney>=1),
CONSTRAINT
CK_balance
CHECK(balance>=1),
CONSTRAINT
DF_pass
DEFAULT('888888')
FOR
pass,
CONSTRAINT
DF_IsReportLoss
DEFAULT('0')
FOR
IsReportLose,
CONSTRAINT
FK_customerID
FOREIGN
KEY(customerID)
REFERENCES
userInfo(customerID)
GO
第3个回答 2020-01-21
语法
ALTER
TABLE
表
{ADD
ADD{COLUMN
字段类型
[
(字长)]
[NOT
NULL]
[CONSTRAINT
索引
]
|
ALTER
COLUMN
字段类型
[(字长)]
|
CONSTRAINT
多重字段索引
}
|
DROP
DROP{COLUMN
字段
I
CONSTRAINT
索引名
}
}
ALTER
TABLE
语句分为以下几个部分:
部分
说明
table
欲修改的表之名称。
field
欲在表内增加或删除的字段的名称。或表内欲被替换的字段名称。
type
字段的数据类型。
size
字段的字符长度
(文本及二进制字段)。
index
字段索引。欲了解更多有关如何构造本索引的信息,请看
CONSTRAINT子句。
multifieldindex
欲增加至表
中的多重字段索引的定义。欲了解更多有关如何构造本索引的信息,请看
CONSTRAINT子句。
indexname
欲删除的多重字段索引的名称。
说明
使用
ALTER
TABLE
语句,可用多种不同方法更改当前已存在的表:你可以:
使用
ADD
COLUMN
在表中添加新的字段。需要指定字段名、数据类型、还可以
(对文本和二进制字段)指定长度。例如,下列语句在员工表中增加一
25
个字符的、名为
Notes
的文本字段:
ALTER
TABLE
Employees
ADD
COLUMN
Notes
TEXT(25)
也可以定义此字段的索引。关于单一字段索引的详细信息,请参阅CONSTRAINT
子句主题。
如果对一字段指定
NOT
NULL,则在这字段中添加的新记录必须有有效的数据。
使用ALTER
COLUMN改变一个当前字段的数据类型,需要指定字段名、新数据类型、还可以
(对文本和二进制字段)指定长度。例如,下列语句把雇员表中一个字段的数据类型,
被称为ZipCode(最初被定义为整数),改变成一个10字符文本字段:
ALTER
TABLE
Employees
ALTER
COLUMN
ZipCode
TEXT(10)
使用
ADD
CONSTRAINT
添加多重字段索引。关于多重字段索引的详细信息,请参阅
CONSTRAINT
子句主题。
使用
DROP
COLUMN
删除字段。只要指定欲删除的字段名即可。
使用
DROP
CONSTRAINT
删除多重字段索引。只要在
CONSTRAINT
保留字后面指定索引名即可。
--------------------------------------------------------------------------------
注意
不能同时添加或删除一个以上的字段或索引。
你可以使用
CREATE
INDEX
语句在一个表中增加一个单字段或多重字段,你还可以使用
ALTER
TABLE
或
DROP
语句删除一个由ALTER
TABLE或CREATE
INDEX建立的索引。
可以在单一字段上使用
NOT
NULL,或在用于单一字段或多重字段(名为
CONSTRAINT)
的
CONSTRAINT
子句中使用
NOT
NULL。但是,一个字段只能使用一次
NOT
NULL
限制。尝试多次应用此限制将导致运行错误。