99Game 模拟器研究 Ascent 's Archiver

xhkj 发表于 2008-2-21 09:49

Sql Server 和 Access 操作数据库结构的常用Sql[转]

下面是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 ([约束字段] <= &#39;2000-1-1&#39;)

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

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

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

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

\&#39;添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")
End Sub

\&#39;更改字段通用函数
Sub ModColumn(TableName,ColumnName,ColumnType)
Conn.Execute("Alter Table "&TableName&" Alter Column "&ColumnName&" "&ColumnType&"")
End Sub

\&#39;检查表是否存在

sql="select count(*) as dida from sysobjects where id = object_id(N&#39;[所有者].[表名]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1"

set rs=conn.execute(sql)

response.write rs("dida")&#39;返回一个数值,0代表没有,1代表存在


判断表的存在:
select * from sysobjects where id = object_id(N&#39;[dbo].[tablename]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1

某个表的结构
select * from syscolumns where id = object_id(N&#39;[dbo].[你的表名]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1

fjceih 发表于 2008-3-11 11:50

这个我找很久了 谢谢 楼主! [s:62]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.