当前位置:首页 » 编程软件 » cmd执行sql脚本

cmd执行sql脚本

发布时间: 2022-11-26 09:41:29

A. sqlCMD 执行 SQL脚本出错(手动执行没问题,SQLCMD执行报错)

先执行set define off

B. 如何执行一个mysql的sql脚本文件

基本步骤如下:
一、创建包含sql命令的sql脚本文件
文件中包含一系列的sql语句,每条语句最后以;结尾,假设文件名为ss.sql,文件内容示例如下(使用“--”进行注释):--创建表create table 表名称(Guid Varchar(38) not null primary key,
Title Varchar(255),
) TYPE=InnoDB;--在表A中增加字段Status
alter table A add Status TinyInt default '0';--在表A上创建索引
create index XX_TaskId_1 on A(Id_);
--在A表中添加一条记录
Insert into A (Id,ParentId, Name) values(1,0,'名称');
--添加、修改、删除数据后,有可能需要提交事务
Commit;二、执行sql脚本文件方法一 使用cmd命令执行(以windows为例,unix或linux的在其类似的控制台下运行)
格式:【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意事项:1、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
2、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:
“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
3、如果需要将执行结果输出到文件,可以采用以下模式
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql>d:\dd.txt
方法二 进入mysql的控制台后,使用source命令执行
1、进入mysql控制台
D:\mysql\bin\mysql –uroot –p123456 -Dtest
2、执行sql脚本文件

C. 如何执行一个mysql的sql脚本文件

1、利用navicat新建数据库,也可采取其他方式。

D. cmd怎么执行sql脚本

先使用cmd连接并打开数据库,然后才能执行SQL脚本。

E. 如何在C 中用程序执行指定的SQL脚本文件,实

1、用cmd命令打开DOS命令行窗口

2、用sqlplus命令进入SQL命令状态,命令行如下:c:\sqlplus/nolog

3、用如下命令连接数据库:connect 数据库用户名/密码@sid_ip,如:sql>connectionljm/ljm@ljm_localhost(本机数据库)

4、用如下命令执行脚本文件sql>@完整路径文件名

5、如果要导入SEQUENCE的话,可以用toad工具先生成SEQ脚本文件,再用如上命令导入

F. cmd 执行sql脚本,该怎么处理

1、微软的SQL Server数据库系统带有一个工具,工具名为SQLCMD.EXE。

2、ORACLE数据库也带有一个工具,工具名为sqlplus.exe。
3、ORACLE数据库:在CMD窗口下,sqlplus 用户名/密码@数据库,进行登录,然后把脚本文件拖进去就好。
4、SQL Server数据库系统下,SQLCMD的用法,请在CMD窗口下键入 sqlcmd.exe /?去查看。
5、更多详尽的资料,请网络一下“SQLCMD”或“sqlplus.exe”。

其它的数据库,有些支持,有些不支持,请针对性的搜索或提问。

G. cmd直接执行sql脚本

以 mysql -h localhost -uroot -ppassword 方式直接将密码写入快捷方式,
登陆可以成功,但是如果使用 -e 参数执行语句,会出现
Warning: Using a password on the command line interface can be insecure 错误
在MySQL 5.6.6之后可以使用 mysql_config_editor ,它可以把账户密码写入 */.mylogin.cnf加密

登入 MySQL Serverin 文件夹,执行
mysql_config_editor set --login-path=xxx --host=127.0.0.1 --user=root --password
--login-path 的值只是一个名字,可以随便写,
回车,然后输入密码,就完成了账户信息的写入

mysql_config_editor print --all

mysql --login-path=xxx
试一下,应该可以登入了

创建快捷方式,快捷方式的

目标:
"C:Program FilesMySQLMySQL Server 5.7inmysql.exe" "--defaults-file=C:ProgramDataMySQLMySQL Server 5.7my.ini" --login-path=try -e "SOURCE C:/Users/Desktop/main.sql;"
注意 -e 后面 路径中的反斜杠,写错了是无法运行的

起始位置:
"C:Program FilesMySQLMySQL Server 5.7in"

H. 如何使用sqlcmd在批处理脚本中执行SQL

使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个: { -U login_id [ -P password ] } | –E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了; -S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定; -d db_name 数据库名字,必须的; [ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o; [ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 输入是简单的sql,不用文件,推荐用-Q,如果你执行完sqlcmd还需要执行别的动作的话; [ -W remove trailing spaces ] 删除多余的空格,结果会更紧凑。 当我们在真正的脚本中执行sql时,通常需要传入和输出变量。 传入变量比较简单,如下所示: sqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -W 这个语句从test数据库的Investment表中选出investor等于x的所有行,注意到变量x被包含在${}中。 然后用-v定义了x的值,'IBM'。 -W确定输出的结果不包含多余的空格。 x的值如果没有在sqlcmd中设定,系统会试图从别的地方去寻找,可能的地方包括,系统环境变量,用户环境变量,以及用在sqlcmd之前用set设定的变量值。 如果你的数据里确实包含${},那么你并不希望进行变量的替换,使用-x选项可以禁止变量的替换。 有些时候,你还希望能获得sql执行结果并保存到变量中。比如你们的日志系统每天都在产生日志文件,你要执行一个脚本来处理这些日志文件并存到数据库中。在处理之前,你必须读取数据库以确定上次处理到那一天了。你期望这样能解决你的问题: sqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -W 但这样并不工作。因为sqlcmd并不提供输出变量。 不过你可以这样做: sqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 这样你就可以得到一个干干净净的数字,而不会包含列名和其他信息。 接着你将上述结果导入到一个文件里: sqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txt 现在到了最关键的一步,将文件的内容写入到变量里: set /P myvar=<1.txt /p表明这个变量myvar的值需要用户输入; <1.txt表明从1.txt中读入而不是从其他地方读入。 这样,我们就巧妙的把sql执行的结果写入到变量里了。

I. 如何使用sqlcmd在批处理脚本中执行SQL

使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;x0dx0a-S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定;x0dx0a-d db_name 数据库名字,必须的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 输入是简单的sql,不用文件,推荐用-Q,如果你执行完sqlcmd还需要执行别的动作的话;x0dx0a[ -W remove trailing spaces ] 删除多余的空格,结果会更紧凑。x0dx0a当我们在真正的脚本中执行sql时,通常需要传入和输出变量。x0dx0a传入变量比较简单,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a这个语句从test数据库的Investment表中选出investor等于x的所有行,注意到变量x被包含在${}中。x0dx0a然后用-v定义了x的值,'IBM'。x0dx0a-W确定输出的结果不包含多余的空格。x0dx0ax的值如果没有在sqlcmd中设定,系统会试图从别的地方去寻找,可能的地方包括,系统环境变量,用户环境变量,以及用在sqlcmd之前用set设定的变量值。x0dx0a如果你的数据里确实包含${},那么你并不希望进行变量的替换,使用-x选项可以禁止变量的替换。x0dx0a有些时候,你还希望能获得sql执行结果并保存到变量中。比如你们的日志系统每天都在产生日志文件,你要执行一个脚本来处理这些日志文件并存到数据库中。在处理之前,你必须读取数据库以确定上次处理到那一天了。你期望这样能解决你的问题:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但这样并不工作。因为sqlcmd并不提供输出变量。x0dx0a不过你可以这样做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a这样你就可以得到一个干干净净的数字,而不会包含列名和其他信息。x0dx0a接着你将上述结果导入到一个文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a现在到了最关键的一步,将文件的内容写入到变量里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明这个变量myvar的值需要用户输入;x0dx0a<1.txt表明从1.txt中读入而不是从其他地方读入。x0dx0a这样,我们就巧妙的把sql执行的结果写入到变量里了。

J. 怎样执行.sql文件

执行.sql文件,可以在mysql命令行里面执行,步骤如下:

1.使用cmd命令执行(windows下,unix或linux在的其控制台下)

2.【Mysql的bin目录】mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:

D:mysqlinmysql –uroot –p123456 -Dtest

注意:

A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略

B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:Program Filesmysqlinmysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】

热点内容
分布式缓存部署步骤 发布:2025-05-14 13:24:51 浏览:610
php获取上一月 发布:2025-05-14 13:22:52 浏览:89
购买云服务器并搭建自己网站 发布:2025-05-14 13:20:31 浏览:688
sqlserver建立视图 发布:2025-05-14 13:11:56 浏览:484
搭建httpsgit服务器搭建 发布:2025-05-14 13:09:47 浏览:255
新电脑拿回来我该怎么配置 发布:2025-05-14 13:09:45 浏览:240
视频服务器新建ftp用户 发布:2025-05-14 13:03:09 浏览:225
php花生 发布:2025-05-14 12:54:30 浏览:550
java人才 发布:2025-05-14 12:29:10 浏览:649
如何打开软密码 发布:2025-05-14 12:28:55 浏览:427