gpt4 book ai didi

mysql - 所有通过 Bash 排除的 MySQL 表

转载 作者:行者123 更新时间:2023-11-29 02:04:17 25 4
gpt4 key购买 nike

(抱歉我的英语不好)

我想选择我的 MySQL 数据库中的所有表名,但排除 2 个表,然后在 bash 中处理这些数据...

但是当我尝试这些代码时,我认为存在某种转义问题,是否还有其他可能执行查询并在 DBS 变量中捕获其输出?

#/bin/bash
MYSQL_USER=root
MYSQL_PASS=toor

DBS="$(mysql -u$MYSQL_USER -p$MYSQL_PASS -Bse 'SELECT SCHEMA_NAME AS Database FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN('mysql', 'information_schema');')"

最佳答案

尝试将 SQL 字符串存储到它自己的变量中,并将其回显到 mysql 客户端:

#/bin/bash
MYSQL_USER=root
MYSQL_PASS=toor

SQL_STRING="SELECT SCHEMA_NAME AS db FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mysql', 'information_schema');"
# Pipe the SQL into mysql
DBS=$(echo $SQL_STRING | mysql -u$MYSQL_USER -p$MYSQL_PASS -Bs)

# Display your result
echo $DBS

请注意,我还将 AS Database 更改为 AS db,因为 DATABASE 是 MySQL 保留关键字,必须用反引号括起来.我不想在 Bash 中正确地转义这些问题……使用不同的别名更容易。

关于mysql - 所有通过 Bash 排除的 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com