有没有一种简单的方法可以从Linux命令行运行MySQL查询并以CSV格式输出结果?
这就是我现在正在做的事情:
mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/ /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ
Run Code Online (Sandbox Code Playgroud)
当有很多列需要用引号括起来,或者结果中有引号需要转义时,它会变得混乱.
我正在尝试学习编写查询的最佳方法.我也理解保持一致的重要性.到现在为止,我已经随机使用了单引号,双引号和后退,没有任何实际想法.
例:
$query = 'INSERT INTO table (id, col1, col2) VALUES (NULL, val1, val2)';
Run Code Online (Sandbox Code Playgroud)
此外,在上面的例子中,考虑table
可能是变量.
这是什么标准?你是做什么?
我一直在这里阅读类似问题的答案大约20分钟,但看起来这个问题没有明确的答案.
我有一张桌子test(id,name)
.
我需要插入样值: user's log
,'my user'
,customer's
.
insert into test values (1,'user's log');
insert into test values (2,''my users'');
insert into test values (3,'customer's');
Run Code Online (Sandbox Code Playgroud)
如果我运行上述任何语句,我会收到错误.
如果有任何方法可以正确地做到这一点请分享.我不想要任何准备好的陈述.
是否可以使用sql转义机制?
我正在尝试编写一个YAML字典,用于Rails项目的国际化.我有点困惑,因为在一些文件中,我看到双引号中的字符串,而有些没有.需要考虑以下几点:
!
- 非特定标记,而第一个示例的最后两行不使用 - 它们都有效.我的问题是:在YAML中使用不同类型的引号有哪些规则?
可以这么说:
!
单引号,当...?!?我想从一个bash shell脚本运行一个命令,该脚本在单引号和变量中有单引号和一些其他命令.
例如 repo forall -c '....$variable'
在此格式中,$
进行转义并且不扩展变量.
我尝试了以下变化,但他们被拒绝了:
repo forall -c '...."$variable" '
repo forall -c " '....$variable' "
" repo forall -c '....$variable' "
repo forall -c "'" ....$variable "'"
Run Code Online (Sandbox Code Playgroud)
如果我用值代替变量来执行命令就好了.
请告诉我哪里出错了.
如何在PowerShell中运行以下命令?
C:\ Program Files\IIS\Microsoft Web Deploy\msdeploy.exe -verb:sync -source:dbfullsql ="Data Source = mysource; Integrated Security = false; User ID = sa; Pwd = sapass !; Database = mydb;" -dest:dbfullsql ="Data Source =.\ mydestsource; Integrated Security = false; User ID = sa; Pwd = sapass !; Database = mydb;",computername = 10.10.10.10,username = administrator,password = adminpass"
我对这段代码感到好奇:
cout << 'test'; // Note the single quotes.
Run Code Online (Sandbox Code Playgroud)
给我一个输出1952805748
.
我的问题:输出是内存中的地址还是什么?
任何人都可以告诉我如何在bash中的双字符串中避免双引号?
例如在我的shell脚本中
#!/bin/bash
dbload="load data local infile \"'gfpoint.csv'\" into table $dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY \"'\n'\" IGNORE 1 LINES"
Run Code Online (Sandbox Code Playgroud)
我无法\"
正确使用双引号转义来获取ENCLOSED BY .我不能对我的变量使用单引号,因为我想使用变量$dbtable
.
我尝试执行以下命令:
mysql AMORE -u username -ppassword -h localhost -e "SELECT host FROM amoreconfig"
Run Code Online (Sandbox Code Playgroud)
我把它存储在一个字符串中:
cmd="mysql AMORE -u username -ppassword -h localhost -e\"SELECT host FROM amoreconfig\""
Run Code Online (Sandbox Code Playgroud)
测试一下:
echo $cmd
mysql AMORE -u username -ppassword -h localhost -e"SELECT host FROM amoreconfig"
Run Code Online (Sandbox Code Playgroud)
尝试执行:
$cmd
Run Code Online (Sandbox Code Playgroud)
我得到了mysql的帮助页面:
mysql Ver 14.14 Distrib 5.1.31, for pc-linux-gnu (i686) using readline 5.1
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute …
Run Code Online (Sandbox Code Playgroud)