ASP 在线动态创建数据库的相关 SQL 命令
作者:parno 日期:2011-03-25
复制内容到剪贴板 程序代码
<%
'建立数据库连接
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/data.mdb")
'在data.mdb中新建一个表(admin) ,字段分别为name 和password 都是文本型字段大小都是50
Dim strSQL
strSQL = "create TABLE admin (name varchar(50), password varchar(50))"
conn.Execute strSQL
%>
'建立数据库连接
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data/data.mdb")
'在data.mdb中新建一个表(admin) ,字段分别为name 和password 都是文本型字段大小都是50
Dim strSQL
strSQL = "create TABLE admin (name varchar(50), password varchar(50))"
conn.Execute strSQL
%>
新建表:
复制内容到剪贴板 程序代码
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 ,
)
(
[自动编号字段] 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'
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
Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"")
End Sub
\'更改字段通用函数
复制内容到剪贴板 程序代码
Sub ModColumn(TableName,ColumnName,ColumnType)
Conn.Execute("Alter Table "&TableName&" Alter Column "&ColumnName&" "&ColumnType&"")
End Sub
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代表存在
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="create table mytable (m_id integer identity(1,1) primary key,m_class varchar(50) not null default 'AAA',m_int integer not null,m_numeric NUMERIC(6,2),m_money money not null default 0.00,m_memo text,m_date date default date(),m_boolean bit default yes,m_blob OLEObject,m_double double,m_float real)"
'创建表
'm_id integer identity(1,1) primary key自动编号字段并制作主键
'm_class varchar(50) not null default 'AAA'文本型,长度50,非空,默认值:AAA
'm_int integer not null数字,长整型,非空
'm_numeric NUMERIC(6,2)数字,小数,精度6,数值范围2
'm_money money not null default 0.00货币,必添字段(非空),默认0
'm_memo text备注
'm_date date default date()日期/时间,默认当前日期(年月日)
'表中的各种数据类型基本都有了
'创建表
'm_id integer identity(1,1) primary key自动编号字段并制作主键
'm_class varchar(50) not null default 'AAA'文本型,长度50,非空,默认值:AAA
'm_int integer not null数字,长整型,非空
'm_numeric NUMERIC(6,2)数字,小数,精度6,数值范围2
'm_money money not null default 0.00货币,必添字段(非空),默认0
'm_memo text备注
'm_date date default date()日期/时间,默认当前日期(年月日)
'表中的各种数据类型基本都有了
建立数据库
方法一:
复制内容到剪贴板 程序代码
<%
' ************ 使用ADODB.Connect对象创建 ************************
Dim oConn
Dim sDatabaseName
sDatabaseName = "CodeCreateDB"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=SQLOLEDB;Data Source=(local);User ID=sa;Password=;"
oConn.Execute "Create DATABASE " & sDatabaseName
%>
' ************ 使用ADODB.Connect对象创建 ************************
Dim oConn
Dim sDatabaseName
sDatabaseName = "CodeCreateDB"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=SQLOLEDB;Data Source=(local);User ID=sa;Password=;"
oConn.Execute "Create DATABASE " & sDatabaseName
%>
方法二:
复制内容到剪贴板 程序代码
<%@ Language=VBScript %>
<%
' ******************* 使用 SQLDMO Object 对象库 *******************
Dim oSQLServer
Dim oDatabase
Dim oDBFileData
Dim oLogFile
Dim sDatabaseName
Dim sDatapath
'数据库名字
sDatabaseName = "CodeCreateDBTest"
'数据文件保存路径
sDatapath = "D:\"
'创建Sql Server对象并进行链接,(local)处为Server名字
Set oSQLServer = Server.CreateObject("SQLDMO.SQLServer")
' oSQLServer.LoginSecure = True ' 使用集成验证integrated security
' oSQLServer.Connect "(local)"
oSQLServer.Connect "(local)", "sa", "" ' 使用标准验证 standard security
' 创建Database对象
Set oDatabase = Server.CreateObject("SQLDMO.Database")
oDatabase.Name = sDatabaseName
' 创建db文件对象
Set oDBFileData = Server.CreateObject("SQLDMO.DBFile")
With oDBFileData
.Name = sDatabaseName & "_data"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_data.mdf"
.PrimaryFile = True
.FileGrowthType = SQLDMOGrowth_MB
.FileGrowth = 1
End With
' 创建日志文件对象
Set oLogFile = Server.CreateObject("SQLDMO.LogFile")
With oLogFile
.Name = sDatabaseName & "_log"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_log.ldf"
End With
'把DB文件对象和日志文件对象添加到DataBase数据库对象
oDatabase.FileGroups("PRIMARY").DBFiles.Add oDBFileData
oDatabase.TransactionLog.LogFiles.Add oLogFile
' 把数据库添加到Sql server(create the database)
oSQLServer.Databases.Add oDatabase
' 关闭连接
oSQLServer.Close
' 释放对象
Set oLogFile = Nothing
Set oDBFileData = Nothing
Set oDatabase = Nothing
Set oSQLServer = Nothing
%>
<%
' ******************* 使用 SQLDMO Object 对象库 *******************
Dim oSQLServer
Dim oDatabase
Dim oDBFileData
Dim oLogFile
Dim sDatabaseName
Dim sDatapath
'数据库名字
sDatabaseName = "CodeCreateDBTest"
'数据文件保存路径
sDatapath = "D:\"
'创建Sql Server对象并进行链接,(local)处为Server名字
Set oSQLServer = Server.CreateObject("SQLDMO.SQLServer")
' oSQLServer.LoginSecure = True ' 使用集成验证integrated security
' oSQLServer.Connect "(local)"
oSQLServer.Connect "(local)", "sa", "" ' 使用标准验证 standard security
' 创建Database对象
Set oDatabase = Server.CreateObject("SQLDMO.Database")
oDatabase.Name = sDatabaseName
' 创建db文件对象
Set oDBFileData = Server.CreateObject("SQLDMO.DBFile")
With oDBFileData
.Name = sDatabaseName & "_data"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_data.mdf"
.PrimaryFile = True
.FileGrowthType = SQLDMOGrowth_MB
.FileGrowth = 1
End With
' 创建日志文件对象
Set oLogFile = Server.CreateObject("SQLDMO.LogFile")
With oLogFile
.Name = sDatabaseName & "_log"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_log.ldf"
End With
'把DB文件对象和日志文件对象添加到DataBase数据库对象
oDatabase.FileGroups("PRIMARY").DBFiles.Add oDBFileData
oDatabase.TransactionLog.LogFiles.Add oLogFile
' 把数据库添加到Sql server(create the database)
oSQLServer.Databases.Add oDatabase
' 关闭连接
oSQLServer.Close
' 释放对象
Set oLogFile = Nothing
Set oDBFileData = Nothing
Set oDatabase = Nothing
Set oSQLServer = Nothing
%>
上一篇: 一个支持二级子菜单的 Javascript 动态下拉菜单[JS][7Z]
下一篇: 从 Yahoo 网站 k 来的一个图片滑动展示的 Javascript+CSS 效果
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: SQL ASP
相关日志:
下一篇: 从 Yahoo 网站 k 来的一个图片滑动展示的 Javascript+CSS 效果
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: SQL ASP
相关日志:
评论: 0 | 引用: 0 | 查看次数: 6912
发表评论