mysql命令行用source执行sql,日志输出

mysql命令行用source执行sql,日志输出,第1张

有时候,我们要在命令行登录mysql,然后用source命令执行某sql文件,这样执行时,日志闪得飞快,还没来得及看,一下子就过了。这样不利于我们查看执行过程中的日志,我们不清楚是否存在执行错误的情况。那要怎么记录一下这样的日志呢?用tee就可以

这样会在/tmp目录下产生一个日志文件,接着再执行你想要的source /root/xx.sql命令吧

在mysql命令行执行的所有输出都会记录到这个日志文件里了

Linux运行sql脚本的具体 *** 作步骤如下:

1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的 *** 作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。

2、sql脚本内容是:create table test (id int not null primary key,name text)insert into test valus(1, 't1')

3、执行test.sql脚本,命令是:psql -f test.sql

这里是因为postgresql安装本机上,在第一步中我们切换到了postgres用户,因此这里默认就是postgres用户来 *** 作,不用带上用户名和密码。执行结果如下,可以看到有两个提示:

create table

insert 0 1

执行完成后,我们登入数据库,命令是:psql

4、进入psql交互式命令行后,我们执行两个查看命令:\d

可以看到表test确实已经创建成功,然后执行命令:\d test

可以看到表中字段是id和name,和我们创建语句中内容一样,说明第一条语句执行成功。

5、查看表中数据,命令是:select * from test

显示出来的值是1,t1,说明第二条执行语句也执行成功,说明test.sql脚本执行成功。

6、默认是postgres用户,本机 *** 作是,不需要用户和密码,现在我们来试试 *** 作远程linux服务器上的postgresql,也就是说执行本地的脚本文件,在远程服务器上创建表。如下面图中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,输入对应用户的密码。

7、登陆到这个远程服务器上,命令是:psql -U test -h 192.168.194

执行查看命令:\d,\d test

最后查询数据库:select * from test结果和上面都一致。

Oracle执行外部文件:

c:>sqlplus

user/pwd@db

sql>@new.sql

执行多个sql文件:

1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:

c:>dir/b

>

d:/1.sql

会把所有的sql文件名都输出到一个sql文件中。

2.用UltraEdit打开生成的sql文件,alt+C切换到column

mode,给所有的行前都添加一个"@",保存。

3.在sqlplus中执行"@d:/1.sql"

如何避免'&'字符:

sql中&可以传递参数,但有时需要插入'&',例:

SQL>

select

'&hello'

v

from

dual

输入

hello

的值:

hello

原值

1:

select

'&hello'

v

from

dual

新值

1:

select

'hello'

v

from

dual

v

-----

hello

可以使用如下方法避免:

A:

SQL>

select

chr(38)

||

'hello'

v

from

dual

V

------

&hello

B:

SQL>

set

define

off

SQL>

select

'&hello'

v

from

dual

V

------

&hello


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

原文地址: http://outofmemory.cn/tougao/11902769.html

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

发表评论

登录后才能评论

评论列表(0条)

保存