如何使用shell脚本访问mysql数据库?

如何使用shell脚本访问mysql数据库?,mysql,database,shell,Mysql,Database,Shell,有没有一种方法可以使用shell脚本访问MySQL数据库? 要在多个表上执行选择和插入操作吗 如果您能提供一些示例代码就太好了,因为我对脚本编写还不熟悉。此链接似乎包含了您想要的信息 您可以从shell脚本中使用。实际上,我是用Perl实现的。我编写了一个能够访问MySQL数据库的Perl脚本 我所要做的就是在Perl脚本中包含以下内容: # PERL MODULES USING use DBI; use DBD::mysql; 但只要确保这些模块安装正确即可。我不知道怎么做,因为我的系统管

有没有一种方法可以使用shell脚本访问MySQL数据库? 要在多个表上执行选择和插入操作吗


如果您能提供一些示例代码就太好了,因为我对脚本编写还不熟悉。

此链接似乎包含了您想要的信息


您可以从shell脚本中使用。

实际上,我是用Perl实现的。我编写了一个能够访问MySQL数据库的Perl脚本

我所要做的就是在Perl脚本中包含以下内容:

# PERL MODULES USING
use DBI;
use DBD::mysql;
但只要确保这些模块安装正确即可。我不知道怎么做,因为我的系统管理员帮我做了

您可以这样访问数据库:

# MYSQL CONFIG VARIABLES
$platform = "mysql";
$host = "<your db server ip>";
$database = "<db name>";
$org_table = "<table name>";
$user = "<username>";
$pw = "<password>";

# DATA SOURCE NAME
$dsn = "dbi:$platform:$database:$host:$port";

# PERL DBI CONNECT
$connect = DBI->connect($dsn, $user, $pw);
试试这个

#!/bin/bash
echo "show all tables"
mysql -uroot -p'password' dbname<<EOFMYSQL
show tables;
EOFMYSQL
echo "Count of all records"
mysql -uroot -p'password' dbname<<EOFMYSQL
select count(*) from tbname;
EOFMYSQL
#/bin/bash
echo“显示所有表”

mysql-uroot-p'password'dbname例如,在
数据库dbname
表tablename
中选择所有
名称
字段,并将所有名称重定向到/tmp/all_name.txt

#!/bin/sh

mysql -uuser_name -puser_pwd -h10.10.10.10 -A --default-character-set=utf8 \
     -e "select name from dbname.tablename;"  > /tmp/all_name.txt

注意,
-uuser\u name
not
-u user\u name
-puser\u pwd not-p user\u pwd

@ishimwe为什么我们要添加好的答案来使用
#!/bin/bash
echo "show all tables"
mysql -uroot -p'password' dbname<<EOFMYSQL
show tables;
EOFMYSQL
echo "Count of all records"
mysql -uroot -p'password' dbname<<EOFMYSQL
select count(*) from tbname;
EOFMYSQL
#!/bin/sh

mysql -uuser_name -puser_pwd -h10.10.10.10 -A --default-character-set=utf8 \
     -e "select name from dbname.tablename;"  > /tmp/all_name.txt