如何在shell中 *** 作mysql数据库

如何在shell中 *** 作mysql数据库,第1张

mysql

-u

username

-p

password

#

连接mysql服务

show

databases

#

查看所有数据库

use

dbname

#选择一个数据库

show

tables

#

查看数据中所有的表

select

from

tablename

#

直接执行查询语句

要在shell中连接数据库,首先要在连接数据的机器上安装mongodb的客户端才可以。客户端的安装在这里不再重复,自己百度一下。

连接mongodb的命令如下:

/home/test/mongodb/mongodb-223/bin/mongo 127001:8888

假设未设置用户名密码,直接通过该命令就可以连接,如果有用户名密码,则需要输入。连接成功后会有一个默认连接的数据库。

mongodb常用命令:

查看数据库命令:

show dbs;

查看集合命令:

show collections;

切换数据库:

use databaseName;

查询数据:

db集合名find()

插入数据:

db集合名insert({name:'test',age:1});

删除:

dbtestremove();

 

 sql="dbtestinsert({name:'test',age:1});"//定义执行的sqlecho

"$sql"|/home/test/mongodb/mongodb-223/bin/mongo 127001:8888/test

--shell

注意,echo命令中的格式必须这样写,管线命令后面的是是数据库安装地址 然后是ip:端口号,斜线后是数据库名称,--shell表示通过shell交互!

bash脚本里有三种方式访问PostgreSQL数据库

但前提是要设置密码文件。当然对于有系统对应账户的数据库角色可以绕过密码登录环节,如

1

$ sudo -u postgres psql

1

2

$ sudo su - postgres

$ psql

但是对于没有系统账户对应的数据库角色,如要使用脚本登录则必须使用PostgreSQL密码文件

heredoc方式

heredoc是一种很常用的方式,在bash环境下还可以使用变量替换,用法示例

1

2

3

psql -U ${role} -h ${host} -d mydb << EOF

CREATE SCHEMA ${role};

EOF

也可以在循环语句中,向数据库批量插入数据,类似

1

2

3

4

5

6

for

do

psql -U ${role} -h ${host} -d mydb << EOF

INSERT INTO ${table} VALUES(${value1},${value2},);

EOF

done

但这种方式,每次插入一条语句都重新登录一次数据库,效率肯定不咋地。

UPDATE(05/05/2014):既然可以使用变量替换,可以将所有插入语句组合到一个变量中,然后就可以在一次登录中批量插入数据了。

还可以用以下方式来获取查询结果

result=`psql -U role -h localhost -d mydb << EOF

SELECT FROM products;

EOF`

echo ${result}

使用psql命令行选项-f执行sql脚本文件

1

psql -U ${role} -h ${host} -d mydb -f ${scriptname}

使用psql命令行选项-c执行SQL语句或psql命令

psql的-c选项可以指定SQL语句或者psql命令,但二者不能混合,除非使用管道。如果命令参数中有多条SQL语句,则它们在一个事务里执行,除非使用BEGIN/COMMIT明确的指定事务。这与交互式使用psql终端不同,如果不明确指定事务,则每条SQL属于一个单独的事务并自动提交。只有最后一条SQL语句的结果被返回。

以上就是关于如何在shell中 *** 作mysql数据库全部的内容,包括:如何在shell中 *** 作mysql数据库、怎样在linux的shell脚本中连接mongodb插入、shell怎么连接postgresql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存