新闻建站cms系统、政府cms系统定制开发

广州网站建设公司-阅速公司

asp.net新闻发布系统、报纸数字报系统方案
/
http://www.ysneo.com/
广州网站建设公司
您当前位置:首页>ASP.NET MVC

ASP.NET MVC

asp中操作表

发布时间:2009/4/2 20:27:10  作者:  阅读:1268  

广告:阿里云采购优惠专区

可以使用ASP在程式当中直接建立修改删除表

与表有关的SQL语法如下:

使用conn.execute(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

%>

记录1 增加字段

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../conn/dbconn1.asp"-->
<%
dim sql
dim a
dim hao
dim b
sql="alter table hfbook ADD COLUMN fenlei_id int NULL"
hao="alter table hfbook ADD COLUMN fenlei_flag int NULL"
set a=conn.execute(sql)
set b=conn.execute(hao)
response.write"welcome:"
conn.close
%>

ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]

alter table sbasic add constraint df_grade default(0) for grade

最近用SQL更新了一个远程数据库,把用到的SQL整理了一下,又补充了些.都是很基础的东西.

维护SQL Server数据库的一些常用SQL

1.如何创建数据库

CREATE DATABASE student

2.如何删除数据库

DROP DATABASE student

3.如何备份数据库到磁盘文件

BACKUP DATABASE student to disk='c:\1234.bak'

4.如何从磁盘文件还原数据库

RESTORE DATABASE studnet FROM DISK = 'c:\1234.bak'

5.怎样创建表?

CREATE TABLE Students (
ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
StudentID char (4) NOT NULL ,
Name char (10) NOT NULL ,
Age int NULL ,
Birthday datetime NULL,
CONSTRAINT PK_Students PRIMARY KEY (StudentID) --设置主键
)

CREATE TABLE Subjects (
ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
ClassID char (4) NOT NULL ,
ClassName char (10) NOT NULL,
CONSTRAINT PK_Subjects PRIMARY KEY (ClassID) --设置主键
)

CREATE TABLE Scores (
ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
StudentID char (4) NOT NULL ,
ClassID char (4) NOT NULL ,
Score float NOT NULL,
CONSTRAINT FK_Scores_Students FOREIGN KEY (StudentID) REFERENCES Students(StudentID), --设置外键
CONSTRAINT FK_Scores_Subjects FOREIGN KEY (ClassID) REFERENCES Subjects(ClassID), --设置外键
CONSTRAINT PK_Scores PRIMARY KEY (StudentID,ClassID) --设置主键
)

6.怎样删除表?

DROP TABLE Students

7.怎样创建视图?

CREATE VIEW s_s_s
AS
SELECT Students.Name, Subjects.ClassName, Scores.Score
FROM Scores INNER JOIN
Students ON Scores.StudentID = Students.StudentID INNER JOIN
Subjects ON Scores.ClassID = Subjects.ClassID


8.怎样删除视图?

DROP VIEW s_s_s

9.如何创建存储过程?

CREATE PROCEDURE GetStudent
@age INT,
@birthday DATETIME
AS
SELECT *
FROM students
WHERE Age = @age AND Birthday = @birthday
GO

10.如何删除存储过程?

DROP PROCEDURE GetStudent

11.如何创建触发器?

CREATE TRIGGER reminder
ON Students
FOR INSERT, UPDATE, DELETE
AS
EXEC master..xp_sendmail 'MaryM',
'Don''t forget to print a report for the distributors.'
GO

12.如何删除触发器?

DROP TRIGGER reminder

13.如何创建索引?

CREATE UNIQUE INDEX IX_Students ON Students (Name)

14.如何删除索引?

DROP INDEX Students.IX_Students

15.怎样给表添加字段?

ALTER TABLE Students ADD Address varchar (50) NULL

16.怎样删除表中某个字段?

ALTER TABLE Students DROP COLUMN Address

17.如何设置列的标识属性?

没找到办法

18.如何去掉列的标识属性?

没有找到好的方法,只能是先添加一列,然后把标识列的值更新到新加入的列,删除标识列,再用与标识列相同的名字类型添加一列,用前面加入的列更新该列.如果该标识列是其他表的外键,还要先删除外键约束,很麻烦.谁有好的办法,还请告诉我.

19.如何重设标识列的标识种子?

DBCC CHECKIDENT (Student, RESEED, 1)

20.怎样给表加上主键?

ALTER TABLE Scores ADD CONSTRAINT PK_Scores PRIMARY KEY (StudentID,ClassID)

21.怎样删除表的主键?

ALTER TABLE Scores DROP CONSTRAINT PK_Scores

22.怎样给表添加一个外键?

ALTER TABLE Scores ADD CONSTRAINT FK_Scores_Students FOREIGN KEY (StudentID) REFERENCES Students (StudentID) ON DELETE CASCADE

23.怎样删除表的一个外键?

ALTER TABLE Scores DROP CONSTRAINT FK_Scores_Students

24.怎样给字段加上CHECK约束?

ALTER TABLE Students ADD CONSTRAINT CK_Students CHECK (Age > 0)

25.怎样去掉字段上的CHECK约束?

ALTER TABLE Students DROP CONSTRAINT CK_Students

26.怎样给字段设置默认值?

ALTER TABLE Students ADD CONSTRAINT DF_Students_Age DEFAULT (18) FOR Age

27.怎样移去字段的默认值?

ALTER TABLE Students DROP CONSTRAINT DF_Students_Age

28.修改字段的类型及非空约束

ALTER TABLE Students ALTER COLUMN Age char (10) null
ALTER TABLE Students ALTER COLUMN Age int not null


ACCESS中建表,增加,删除和修改字段属性语句
ACCESS中增加和修改字段属性语句
建立表语句
sql="CREATE table tablename (id int IDENTITY (1, 1) NOT NULL,"&_
"columnname varchar(50) null,"&_
"columnname int default 0,"&_
.................................
"columnname text,"&_
"columnname datetime default Now())"
conn.execute(sql)

增加表中字段:
conn.execute("alter table tablename add id int IDENTITY (1, 1) NOT NULL ") ''ID自动编者编号
conn.execute("alter table tablename add 字段名 bit") ''是与否
conn.execute("alter table tablename add 字段名 varchar(250)") ''文本长度250
conn.execute("alter table tablename add 字段名 int default 0") ''长整默认0
conn.execute("alter table tablename add 字段名text") ''备注
conn.execute("alter table tablename add 字段名 datetime default Now()") ''时间默认now()
conn.execute("alter table tablename add 字段名 image") ''ole对象
conn.execute("alter table tablename add 字段名 money") ''货币

修改表中字段
conn.execute("alter table tablename alter column id int IDENTITY (1, 1) NOT NULL") ''修改为ID自动编者编号
conn.execute("alter table tablename alter column columnname bit") ''修改为是与否
conn.execute("alter table tablename alter column columnname varchar(250)") ''修改为文本长度250
conn.execute("alter table tablename alter column columnname int default 0") ''修改为长整默认0
conn.execute("alter table tablename alter column columnname text") ''修改为备注
conn.execute("alter table tablename alter column columnname datetime default Now()") ''修改为时间默认now()
conn.execute("alter table tablename alter column columnname image") ''修改为ole对象
conn.execute("alter table tablename alter column columnname money") ''修改为货币

删除表中的字段
conn.execute("alter table tablename drop columnname")

下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助。
内容由海娃整理,不正确与不完整之处还请提出,谢谢。

新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)

删除表:
Drop table [表名]

插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')

删除数据:
DELETE FROM [表名] WHERE [字段名]>100

更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'

新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]

修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'

新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')

删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名

新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]

删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名

删除Sql Server 中的日志,减小数据库文件大小
dump transaction 数据库名 with no_log
backup log 数据库名 with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption '数据库名', 'autoshrink', 'true'

修改字段名:EXEC sp_rename 'dv_user.usermoney', 'haohaohao', 'column'

广告:阿里云新人采购专场

相关文章
asp中操作表
cms新闻系统购买咨询
扫描关注 广州阅速软件科技有限公司
扫描关注 广州阅速科技