'-------------------创建数据库----------------------------
Dim Cn As Connection
Dim Rs As New ADODB.Recordset
Dim connstr As String
connstr = "Driver={sql Server};Server=" & strServer & ";Uid=" & strUser & ";Pwd=" & strPwd & ";"
Set Cn = New Connection
Cn.Open connstr
sqlStr = "select Name from dbo.sysdatabases where Name = '数据库名'"
Set Rs = New Recordset
Rs.Open sqlStr,Cn,adOpenKeyset,adLockOptimistic
If Rs.RecordCount = 0 Then
'数据库不存在,则创建数据库
Rs.Close
Cn.BeginTrans
sqlStr = "Create Database 数据库名"
Cn.Execute sqlStr
Cn.CommitTrans
Else
Rs.Close
End If
'sqlStr = "select Name from dbo.sysdatabases where Name = '数据表名'"
'如果无则可以创建数据表
'判断是否为主键的方法
Rs.Fields(0).Properties '判断是否为主键的方法
ado的Recordset的fields的properties里好像有判断是否是主键的,
你自己查查,
Rs.Fields(intIndex).Properties("KEYCOLUMN").Value = True
'-------------------创建数据表----------------------------
W3School:http://www.w3school.com.cn/sql/sql_create_table.asp
W3School2:http://www.w3school.com.cn/sql/sql_intro.asp
sql="create table nam(id int identity(1,1),ACCT_ID char(255),ACC_NBR float,ACC_FLAG char(255),SERV_NAME char(255),BILLING_FLAG_ID float,COUNTRY_FLAG float,DEVICE_TERM_TYPE char(255),ZFY money,FY1 money,FY2 money,FY3 money,FY5 money,FY8 money,FY6 money,CHARGE40 money,CHARGE4003 money,CHARGE50 money,CHARGE5001 money)"
conn.execute(sql)
'-------事务------
BeginTrans 启动新的事务。
CommitTrans 保存所有更改并结束当前事务。它也可以启动新事务。
RollbackTrans 取消当前事务中所做的任何更改并结束事务。它也可以启动新事务。
'------------常见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\'
\\\'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\")
End Sub
\\\'更改字段通用函数
Sub ModColumn(TableName,ColumnType)
Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\")
End Sub
\\\'检查表是否存在
sql=\"select count(*) as dida from sysobjects where id = object_id(N\'[所有者].[表名]\') and OBJECTPROPERTY(id,N\'IsUserTable\') = 1\"
set rs=conn.execute(sql)
response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在
判断表的存在:
select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id,N\'IsUserTable\') = 1
某个表的结构
select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id,N\'IsUserTable\') = 1
'-------------------------------------------
对于初学者来说,刚刚开始接触sql Server数据库时,可能会感觉到学习起来有一点难度,尤其是对于sql语句的使用。本文我们针对初学者总结了一些sql Server数据库修改字段属性方面的操作,希望能够对您有所帮助。
1:向表中添加字段
Alter table [表名] add [列名] 类型
2: 删除字段
Alter table [表名] drop column [列名]
Alter table [表名] alter column [列名] 类型
4:添加主键
Alter table [表名] add constraint [ 约束名] primary key( [列名])
5:添加唯一约束
Alter table [表名] add constraint [ 约束名] unique([列名])
6:添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7:添加约束
Alter table [表名] add constraint [约束名] check (内容)
8:添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9:删除约束
Alter table [表名] add constraint [约束名]
10:重命名表
exec sp_rename '[原表名]','[新表名]'
11:重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'