如何创建sql语句脚本

如何创建sql语句脚本,第1张

在MS

SQL

SERVER

中:

打开查询分析器,选择数据库,在脚本编辑窗口中输入SQL语句,点击保存,即可将扩展名为SQL的脚本文件存入磁盘(默认我的文档或选择的文件夹)中。

1、必须先安装Microsoft Office Access 2003,和SQL Server数据库。

2、用Access 2003打开动数据库,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。

3、转换完成后再用Access 2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的数据库(准备转成新的数据库),按下一步,按“ 》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。

4、打开SQL企业管理器——数据库---选中相应的数据库---右键所有任务-----生成SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。

5、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“smalldatetime”替换为“datetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varcha”——替换全部,完成后保存退出。

6、打开SQL企业管理器——数据库——点击新建的数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。

7、再回到SQL企业管理器——数据库——点击新建的数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft Access”文件名“为旧的acc数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。

8、最后补充:

(1)由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",

(2)另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;

(3)另外,大家要注意对时间函数的把握ACCESS与SQL是有很多不同的

根据以上3点,再回到SQL企业管理器——数据库——点击这个数据库下新建的数据库,将所有表的字段属性根据以上3点进行修改

补充说明:

自动增加字段需要重写。在access中经常使用的自动编号字段,导入到mssql后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号

所有的默认值都丢失了。主要是数字类型和日期类型

所有now(),time(),date()要改成getdate()

所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)

所有datediff(‘ww‘, time1, time2)要改成datediff(week, time1, time2)

所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)

在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字

在用access关于时间的使用,大家喜欢使用“select from aaaa while time="

命令:create database <数据库名>

例1:建立一个名为xhkdb的数据库

mysql> create database xhkdb;

例2:创建数据库并分配用户

①CREATE

DATABASE 数据库名;

②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON

数据库名 TO 数据库名@localhost IDENTIFIED BY '密码';

③SET PASSWORD

FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');

依次执行3个命令完成数据库创建。注意:中文

“密码”和“数据库”是户自己需要设置的。

通过shell脚本调用sql脚本:

1、shell脚本调用sql脚本

#首先编辑sql文件

oracle@SZDB:~> more deptsql

connect scott/tiger

spool /tmp/deptlst

set linesize 100 pagesize 80

select from dept;

spool off;

exit;

#编辑shell脚本文件,在shell脚本内调用sql脚本

oracle@SZDB:~> more get_deptsh

#!/bin/bash

# set environment variable

if [ -f ~/bashrc ]; then

~/bashrc

fi

export ORACLE_SID=CNMMBO

sqlplus -S /nolog @/users/oracle/deptsql #注意此处执行sql脚本的方法 -S 表示以静默方式执行

exit

#授予脚本执行权限

oracle@SZDB:~> chmod 775 get_deptsh

-->执行shell脚本

oracle@SZDB:~> /get_deptsh

DEPTNO DNAME LOC

---------- -------------- -------------

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

2、shell脚本调用rman脚本

#首先编辑RMAN脚本

oracle@SZDB:~> more rmanrcv

RUN {

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/users/oracle/bak/%d_%F';

ALLOCATE CHANNEL CH1 TYPE DISK MAXPIECESIZE=4G;

ALLOCATE CHANNEL CH2 TYPE DISK MAXPIECESIZE=4G;

SET LIMIT CHANNEL CH1 READRATE=10240;

SET LIMIT CHANNEL CH1 KBYTES=4096000;

SET LIMIT CHANNEL CH2 READRATE=10240;

SET LIMIT CHANNEL CH2 KBYTES=4096000;

CROSSCHECK ARCHIVELOG ALL;

DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;

BACKUP

DATABASE FORMAT '/users/oracle/bak/%d_FULL__%U';

SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';

BACKUP ARCHIVELOG ALL FORMAT '/users/oracle/bak/%d_LF_%U' DELETE INPUT;

DELETE NOPROMPT OBSOLETE;

RELEASE CHANNEL CH1;

RELEASE CHANNEL CH2;

}

#编辑shell脚本文件,在shell脚本内调用rman脚本

oracle@SZDB:~> more rman_baksh

#!/bin/bash

# set environment variable

if [ -f ~/bashrc ]; then

~/bashrc

fi

export ORACLE_SID=CNMMBO

$ORACLE_HOME/bin/rman target / cmdfile=/users/oracle/rmanrcv log=/users/oracle/bak/rmanlog

exit

#授予脚本执行权限

oracle@SZDB:~> chmod 775 rman_baksh

#执行shell脚本

这里是我些的模板! 具体你自己修改! 有点基本的VBS工底就可以了!

==============================================================

dim cn

dim rs

dim row

dim col

dim viewdata '继承返回的查询结果 将从这里获取查询的返回内容

dim mdbpath '这个是mdb数据库文件路径

dim SQLcmd '这里是SQL语句

dim STRsql '返回的查询结果存放在这个变量里

set cn=CreateObject("ADODBConnection")

set rs=CreateObject("ADODBRecordset")

mdbpath="d:\passmdb"

cnOpen "DSN=dsnmdb;Uid=;Pwd="

SQLcmd="select from Pathlist"

rsOpen SQLcmd,cn,,,adCmdText

if rsbof=false then '如果查询结果有返回的则

viewdata=rsGetRows

STRsql=""

for row=0 to UBound(viewdata,2) '获取二维数组的长度

for col=0 to UBound(viewdata,1)

strsql=strsql & viewdata(col,row) & " "

next

strsql=strsql & vbcrlf

next

end if

rsclose

cnclose

msgbox strsql

icrosoft SQL Server\MSSQL\Install的安装路径下有许多sql脚本。我想通过自己写的小程序(VC++和ADO)执行创建数据库的sql脚本,比如instpubssql(创建pubs数据库脚本)。但每次总提示“GO”附近语法错误,不知何故,望高手指点。先谢。

我的程序流程如下:

连接数据库--〉读出instpubssql的脚本--〉将文字传给command-->recordSet执行command

代码如下:

CADOCommand command(&m_Connect, strSQL, adCmdUnknown);

m_RecordSetExecute(&command);

直接用commandExecute()也不对。

commandSetText(strSQL);

commandExecute();

同样方法执行很短的sql脚本正常,但前提要把所有的“GO”去掉。

"C:\Program Files\MySQL\MySQL Server 50\bin\mysqldumpexe" -uroot -hlocalhost -p密码 --all-databases>d:\%data%sql 看你需要备份哪个数据库 只需要修改all就可以了

CREATE USER user_name

[ { { FOR | FROM }

{

LOGIN login_name

}

| WITHOUT LOGIN

}

]

[ WITH DEFAULT_SCHEMA = schema_name ]

[;]

-- SQL Database syntax when connected to a federation member

CREATE USER user_name

[;]

参数说明:

user_name

指定在此数据库中用于识别该用户的名称。 user_name 的数据类型为 sysname。 它的长度最多是 128 个字符。 在创建基于 Windows 主体的用户时,除非指定其他用户名,否则 Windows 主体名称将成为用户名。

LOGIN login_name

指定要为其创建数据库用户的登录名。 login_name 必须是服务器中的有效登录名。 可以是基于 Windows 主体(用户或组)的登录名,也可以是使用 SQL Server 身份验证的登录名。 当此 SQL Server 登录名进入数据库时,它将获取正在创建的这个数据库用户的名称和 ID。 在创建从 Windows 主体映射的登录名时,请使用格式 [<domainName>\<loginName>]。 有关示例,请参阅语法摘要。

如果 CREATE USER 语句是 SQL 批处理中唯一的语句,则 Windows Azure SQL Database 将支持 WITH LOGIN 子句。 如果 CREATE USER 语句不是 SQL 批处理中唯一的语句或在动态 SQL 中执行,则不支持 WITH LOGIN 子句。

WITH DEFAULT_SCHEMA = schema_name

指定服务器为此数据库用户解析对象名时将搜索的第一个架构。

windows_principal'

指定正为其创建数据库用户的 Windows 主体。 windows_principal 可以是 Windows 用户或 Windows 组。 即使 windows_principal 没有登录名,也将创建该用户。 连接 SQL Server 时,如果 windows_principal 没有登录名,Windows 主体必须通过有登录名的 Windows 组中的成员身份在数据库引擎中进行身份验证,或者连接字符串必须将包含数据库指定为初始目录。 在从 Windows 主体创建用户时,请使用格式 [<domainName>\<loginName>]。

以上就是关于如何创建sql语句脚本全部的内容,包括:如何创建sql语句脚本、怎么通过力控软件删除sql数据库中的单个内容 函数脚本怎么编写、mysql建数据库,mysql怎么用脚本建库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10083912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存