可以使用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
%>
转载http://asp123.on.net.cn