• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ADO如何建立修改刪除资料表呢?(BIG5)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 可以使用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

%>

 

 

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网