
--将表数据生成SQL脚本的存储过程
CREATE PROCEDURE dboUspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on
set @objectId=object_id(@tablename)
if @objectId is null -- 判断对象是否存在
begin
print 'The object not exists'
return
end
set @objectname=rtrim(object_name(@objectId))
if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密
begin
print 'object not in current database'
return
end
if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是table
begin
print 'The object is not table'
return
end
select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' ON'
declare syscolumns_cursor cursor
for select cname,cxtype from syscolumns c where cid=@objectid order by ccolid
open syscolumns_cursor
set @column=''
set @columndata=''
fetch next from syscolumns_cursor into @name,@xtype
while @@fetch_status < >-1
begin
if @@fetch_status < >-2
begin
if @xtype not in(189,34,35,99,98) --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理
begin
set @column=@column+case when len(@column)=0 then'' else ','end+@name
set @columndata=@columndata+case when len(@columndata)=0 then '' else ','','','
end
+case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char
when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar
when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime
when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime
when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier
else @name end
end
end
fetch next from syscolumns_cursor into @name,@xtype
end
close syscolumns_cursor
deallocate syscolumns_cursor
set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename
print '--'+@sql
exec(@sql)
if @ident is not null
print 'SET IDENTITY_INSERT '+@TableName+' OFF'
GO
exec UspOutputData 你的表名
1、利用navicat新建数据库,也可采取其他方式。
2、创建数据库,填入数据库名称。
3、找到mysql的安装文件的bin文件。
4、找到所要导入的sql的文件夹。
5、用win+r或者开始-菜单-运行,输入cmd打开命令行。
6、输入d:回车,切换到D盘,输入cd +mysql安装路径下bin文件夹位置。
7、输入u 后面代表mysql数据库用户名 p后面是密码 ,“testwei“代表导入的数据库名称,后面就是导入数据库的sql文件。
8、打开navicat,看到数据库中,已经导入数据,证明,上述 *** 作成功。
这是一段 建库建表的脚本 datasql 文件
CREATE DATABASE SM_USER_NAME_TOBEREPLACE_sys
GO
use SM_USER_NAME_TOBEREPLACE_sys
if exists (select from sysobjects where id = object_id(N'[dbo][Group_permission]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo][Group_permission]
GO
CREATE TABLE [dbo][Group_permission] (
[seed_key_id] [int] IDENTITY (1, 1) NOT NULL ,
[group_id] [varchar] (50) NOT NULL ,
[pmt_key_id] [varchar] (50) NOT NULL ,
[origin_key_id] [varchar] (50) NULL
) ON [PRIMARY]
GO
您好
如何向SQL SERVER数据库中执行一个sql文件中的脚本,具体解决方案如下:
解决方案1:
使用查询分析器,选择好数据库名 再直接执行sql就好了,
如果还有问题,可以继续追问,感谢。
其实导入的方法很简单,可以采用工具导入和只用mysql命令界面导入两种方式,mysql的数据库图形界面工具是很多的,用起来也比较方便。
工具/原料
Navicat for MySQL
MySQL命令行界面
SQL脚本
方法一:
1、首先使用MySQL提供的命令行界面来导入数据库,确保电脑中安装了MySQL数据库,可以通过命令行来确认是否安装了MySQL数据库,当然,第一步是打开Mysql的数据库服务,使用命令行来打开:
2、启动MySQL后,找到需要用到的脚本文件,也就是数据库文件,当然,首先得建立一个数据库,这样才可以导入脚本,如下图所示:
3、在将脚本拷到本地磁盘的根目录,这样方便进入找到脚本,这里以D盘来说明,使用testsql:接着来到命令行,使用SOURCE d:/testsql;来导入数据库,先进入mysql。
4、首先要在数据库中建立好数据库,然后导入脚本,所以先建立一个数据库哦,不要脚本是不知道要往哪个数据库中导入脚本的。
5、然后就可以输入导入sql文件命令:
mysql> USE 数据库名;
mysql> SOURCE d:/testsql;
6、看到上面的画面,说明mysql数据库已经导入成功了。
方法二:使用Navicat for MySQL图形界面来导入数据库,使用图形界面导入数据库的步骤很简单
1、在图形界面中建立好数据库之后,使用导入脚本的功能来导入数据库
2、点击选择脚本,选择D盘的testsql脚本,然后设置数据库字符格式
3、接着点击开始运行脚本就行了,脚本开始导入了哦!导入完成之后就会出现成功的提示
4、然后先关闭数据库,再打开数据库就可以看到建立好的数据库的表了。
以上就是关于如何把SQL数据库生成脚本 SQL语句全部的内容,包括:如何把SQL数据库生成脚本 SQL语句、如何执行一个mysql的sql脚本文件、网站中SQL数据库建表的脚本怎么编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)