通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数\x0d\x0a增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0\x0d\x0aalter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0\x0d\x0aalter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0\x0d\x0aalter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0\x0d\x0aalter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0\x0d\x0aalter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数\x0d\x0a\x0d\x0aalter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数\x0d\x0a\x0d\x0aalter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255)\x0d\x0a\x0d\x0aalter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255\x0d\x0a\x0d\x0aalter table [表名] add 字段名 Datetime default 函数增加日期型字段,其中函数可以是now(),date()等,表示缺省值\x0d\x0a\x0d\x0a(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)\x0d\x0a\x0d\x0a删除字段: alter table [表名] drop 字段名\x0d\x0a\x0d\x0a修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)\x0d\x0a\x0d\x0a删除表: drop table [表名]\x0d\x0a\x0d\x0a创建表:\x0d\x0a\x0d\x0asql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&\x0d\x0a\x0d\x0a"[字段2] varchar(50),"&\x0d\x0a\x0d\x0a"[字段3] single default 0,"&\x0d\x0a\x0d\x0a"[字段4] varchar(100) null,"&\x0d\x0a\x0d\x0a"[字段5] smallint default 0,"&\x0d\x0a\x0d\x0a"[字段6] int default 0,"&\x0d\x0a\x0d\x0a"[字段7] date default date(),"&\x0d\x0a\x0d\x0a"[字段8] int default 1)"\x0d\x0a\x0d\x0aconn.execute sql\x0d\x0a\x0d\x0a有null 的表示字段允许零长
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
ALTER
TABLE
employee(表名)
ADD
COLUMN
post(字段名)
varchar(20)
把
COLUMN
去掉,正解为:
ALTER
TABLE
employee
ADD
post
varchar(20)
语法
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
限制。尝试多次应用此限制将导致运行错误。