shell中使用SQL实现查询
先把文本进行格式处理,然后以空格为分隔符,取第二个空格后的字串,排序,去重,再降序排列,取前5个
arr=($(cat 0100055F_Detail.txt|sed -e '/:/d'|awk -F ' ' '{print$2}'|sort|uniq -c|sort -nr|head -5|awk '{print $2}'))
len=${#arr[@]} 获取数组长度
for((i=0;i<$len;i++))
do
echo ${arr[$i]}
mysql -uroot -p123456 -e "select location from IPLocation.IPLocation where IP_address='${arr[$i]}'"|sed 's/\t/,/g' >> table.csv 执行查询:-u后是用户名,-p后事密码,-e表示执行;
done
cat table.csv|sed -e '/location/d'>table1.csv
paste -d ',' result.csv table1.csv >last.csv 两个文件按列合并,并且两文件的结合列中用逗号分隔。
相关文档:
1. 创建视图:
CREATE OR REPLACE VIEW SM_V_UNIT_AUTH AS
SELECT T2.UNIT_ID,
T2.SUPER_UNIT_ID,
T1.AUTH_ID,
T1.AUTH_NAME,
T1.A ......
--基于时间SQL函数--
getdate() --返回当前系统日期和时间。
DateAdd --在向指定日期加上一段时间的基础上,返回新的 datetime 值。
DATEADD ( datepart , number, date )
--例:向当天的时间增加5天
select dateadd(dd,5,getdate())
datediff --返回跨两个指定日期的日期和时间边界数。]
---例如
& ......
COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。
语法
COLLATE { <collation_name> | database_default }
<collation_name> :: =
{ Windows_collation_name } | { SQL_collation_name }
参数
collation_name
  ......
条件:
拥有sa权限
开启 xp_cmdshell
方法:
开启/关闭 xp_cmdshell 必须在 master 库执行
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE ......
感谢提康德罗加的投递
就像当年波士顿的爱国者为反抗英国重税的行动一样,NoSQL的支持者们从各地涌来,分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据,他们开始对SQL说不!NoSQL组织上个月在旧金山的行动让人闻到了数据库革命的味道,好像一个现代IT业版的波 ......