ADO如何建立修改删除表

网络整理 - 07-26
可以使用ASP在程式当中直接建立修改删除表

与表有关的SQL语法如下:



建立一个表:CREATE TABLE表达式。

修改一个表:ALTER TABLE表达式。

删除一个表:DROP TABLE表达式。

建立一个索引:使用CREATE INDEX 或 ALTER TABLE表达式。

删除一个索引:DROP INDEX表达式。


详细介绍如下:

CREATE TABLE表达式

CREATE TABLE表达式,建立一个新的表。

语法如下:

CREATE TABLE 新表(新字段名称1 字段类型 [(长度)] [NOT NULL] [索引1] [,新字段名称2 字段类型 [(长度)] [NOT NULL] [索引2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

长度为字符类型及字符长度。

索引1, 索引2 CONSTRAINT子句定义单一字段索引。

multifieldindex定义一多重字段索引。

使用CREATE TABLE表达式,如果将一字段指定为NOT NULL,则在此字段中新增的记录资料内容必须是有效的资料。

CONSTRAINT子句可在一字段上建立不同的限制,并且也可以用来建立主索引。

您可以使用CREATE INDEX表达式,在现有的表上建立一个主索引或多个索引。

让我们看一个在ASP程式码当中使用这个SQL指令的例子。

譬如ASP程式码rs61.asp如下,[CREATE TABLE 学员 (姓名 TEXT(10), 年龄 INT)] 先建立一个学员的表,包括10个位元长度TEXT类型的姓名字段,和整数类型的年龄字段:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE 学员 (姓名 TEXT(10), 年龄 INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

conn1.Close

%>

执行后,使用Access打开NtopSamp.mdb文件时,可看到新建立一个学员的表。

ALTER TABLE表达式

ALTER TABLE表达式,修改已建立好的表。

语法如下:

ALTER TABLE 表 {ADD {COLUMN 字段名称 字段类型[(长度)] [NOT NULL] [CONSTRAINT 索引] |
CONSTRAINT multifieldindex} |
DROP {COLUMN 字段名称 I CONSTRAINT 多重字段索引名称} }

使用ALTER TABLE表达式,您可以利用多种不同方法,变更目前已存在的表:


使用ADD COLUMN新增字段到表。

使用DROP COLUMN删除一字段。只需指定欲删除之字段名称即可。

使用ADD CONSTRAINT新增多重字段索引。

使用DROP CONSTRAINT删除多重字段索引。只需指定紧接在CONSTRAINT之后的索引名称即可。

使用ADD COLUMN新增字段到表时,必须指定字段名称、所属类型、以及类型和长度。


例如,下例增加一个2个字符长度,名为性别的字符类型字段到学员表中:

ALTER TABLE 学员 ADD COLUMN 性别 TEXT(2)

您也可以对此字段定义索引。

如果您对一字段指定 NOT NULL,则在此字段中所新增的记录资料必须是有效的资料。

您不能同时新增或删除多个字段或索引。

譬如ASP程式码rs63.asp如下,[CREATE TABLE 学员1 (姓名 TEXT(10), 年龄 INT)] 先建立一个学员1的表,然后使用 [ALTER TABLE 学员1 ADD COLUMN 性别 TEXT(2)] 增加一个2个字符长度,名为性别的字符类型字段到学员1表中:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE 学员1 (姓名 TEXT(10), 年龄 INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

sql = "ALTER TABLE 学员1 ADD COLUMN 性别 TEXT(2)"

Set a = conn1.Execute(sql)

Response.Write "ALTER TABLE OK<p>"

conn1.Close

%>

执行后,使用Access打开NtopSamp.mdb文件时,可看到表学员1新建立一个姓别的字段。

DROP表达式

DROP表达式从一个数据库中删除一个已存在的表,或从一个表中删除一个已存在的索引。

语法如下:

DROP {TABLE 表 | INDEX 索引 ON 表}

表必须先关闭,才能删除此表或由此表中的索引。

若要删除索引,除了使用DROP INDEX 索引 ON 表,也可以使用ALTER TABLE。

譬如ASP程式码rs62.asp如下,首先使用 [CREATE TABLE 学员2 (姓名 TEXT(10), 年龄 INT)] 先建立一个学员2的表,包括10个字符长度TEXT类型的姓名字段,和整数类型的年龄字段,然后使用 [DROP TABLE 学员2] 删除学员2的表:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE 学员2 (姓名 TEXT(10), 年龄 INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

sql = "DROP TABLE 学员2"

Set a = conn1.Execute(sql)

Response.Write "DROP TABLE OK<p>"

conn1.Close

%>
转载


原作者:不详
来 源:不详