?
??? 两种方式主要区别在于构造文字量时,对字符串的处理次数不同。
?
??? 单引号时,Ruby对字符串值不做处理,里边是什么就是什么。
?
??? 双引号时,Ruby首先要查找文本中要替换的字符,即带反斜杠的字符,用二进制替换。最常见的就是\n;其次,这种方式下可以插入表达式#{...},那就要处理表达式,将其替换成具体的值。
一实例即可说明问题
@title="test"
p '<title>#{@title}</title>'
#原样输出
# =>"<title>\#{@title}</title>"
p "<title>#{@title}</title>"
#计算出变量的值,再变成字符串输出
# =>"<title>test</title>"
#内容亦可以进行字符串运算
p "<title>#{"this is "+@title}</title>"
# =>"<title>this is test</title>"
转载:http://joewalker.iteye.com/blog/408879命令行下具体用法如下:
mysqldump -u用户名 -p密码 -d 数据库名 表名 >脚本名
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database >dump.sql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table >dump.sql
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database >dump.sql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table >dump.sql
http://www.cnblogs.com/wangkongming/p/3648476.html
more import.sh
#!/bin/bash
time=$(date +%Y%m%d-%H%M%S)
filename="result-"${time}.log
echo $filename
echo $(date)" begin....">$filename
mysql -A -h localhost -u root -p123 test<$1 >>$filename 2>&1
echo $(date)" success! ">>$filename
第一版:
#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"
mysql -u $USER $DATABASE --html --default-character-set=utf8 <one.sql >/tmp/check.html
mysql -u $USER $DATABASE --html --default-character-set=utf8 <two.sql >>/tmp/check.html
第二版:
#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"
#:>/tmp/check.html
for i in one.sql two.sql three.sqldo
mysql -u $USER $DATABASE --html --default-character-set=utf8 <$i >>/tmp/check.html
done
第三版:
#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"
for i in `ls *.sql`do
mysql -u $USER $DATABASE --html --default-character-set=utf8 <$i >>/tmp/check.html
done
http://bbs.chinaunix.net/thread-4166340-1-1.html
用途:将远程服务器的数据库拷到本地。
代码代码如下:
mysqldump -h '114.212.111.123' -uROSE -pxxxooo --opt --compress ITSM --skip-lock-tables | mysql -h localhost -uroot -proot ITSMC
http://www.shangxueba.com/jingyan/1942037.html
shell脚本中怎样同时执行多个.sql文件,并把结果写入文件中(转)的更多相关文章
Spring 中jdbcTemplate 实现执行多条sql语句
说一下Spring框架中使用jdbcTemplate实现多条sql语句的执行: 很多情况下我们需要处理一件事情的时候需要对多个表执行多个sql语句,比如淘宝下单时,我们确认付款时要对自己银行账户的表里 ...
如何在Oracle中一次执行多条sql语句 (.net C#)
关键是不能换行,要加上begin ...sql... end每个SQL用:隔开,end后面必须加: 以下是拷贝于:http://www.cnblogs.com/teamleader/arc ...
在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)
原文:在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...
shell基础概念, if+命令, shell中引用python, shell脚本的几种执行方式
说明: 虚拟机中shell_test目录用来练习shell, 其中有个test.log文件用来存放日志 #!/usr/bin/bash # shell文件开头, 用来指定该文件使用哪个解释器 ...
Shell脚本的三种执行方式
Shell脚本的执行方式可以有以下几种: 方式一: ./script.sh # 利用小数点来执行 方式二: sh script.sh 或 bash script.sh # 利用bash(sh)来执 ...
[转]shell脚本每行的执行顺序是怎样
原文:https://blog.csdn.net/weixin_42609121/article/details/83028000 ---------------------------------- ...
shell 脚本控制命令的执行顺序
&&,||,(),{},&五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...
(学)如何在Oracle中一次执行多条sql语句
队长同学原来的地址:https://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html队长同学原来的描述: 有时我们需要一次性执行多条s ...
随机推荐
Appium 服务命令行参数
Appium 可以直接通过命令行启动,同样支持命令行参数配置 参考: http://appium.io/slate/cn/master/ 使用方法 例如: appium --shell 服务器标志 ...
Android GridView增加HeaderView和FooterView的实现
Android GridView增加HeaderView和FooterView的实现 做的项目中遇到一个问题,需要实现一个页面 页面的上面是一个自定义的View和GridView,当向下滚动屏幕的时候 ...
windows下安装ruby和 rails的痛苦经历
准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题.下面详细说下: 说明下,文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式 ...
nginx记录响应与POST请求日志
生产环境中的某些api出现故障,但是问题无法重现,但是又很想解决掉问题以及我们新项目上线,需要跟踪请求与响应的信息,可以预先找到一些bug,减少大面积的损失. 安装nginx与ngx_lua 响应日志 ...
基于visual Studio2013解决算法导论之030二叉查找树
题目 二叉查找树 解决代码及点评 // 12二叉查找树.cpp : 定义控制台应用程序的入口点. // // 3 - 10二叉搜索树查找.cpp : 定义控制台应用程序的入口点. // #in ...
UVA1452|LA4727-----Jump------经典的约瑟夫公式的变形(DP)
本文出自:http://blog.csdn.net/dr5459 题目地址: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&a ...
Android--开发过程中使用到的长度单位
px:表示屏幕实际的像素. in:表示英寸. mm:毫米. pt:表示一个点,是屏幕的物理尺寸. dp:(与密度无关的像素)逻辑长度单位,在160dpi屏幕上,1dp = 1px = 1/160英寸 ...
摘抄python __init__
注意1.__init__并不相当于C#中的构造函数,执行它的时候,实例已构造出来了. 1 2 3 4 5 class A(object): def __init__(self,name): ...
C#基础 大盘点
类型转换 tryParse字符和整形转换 转译符: /' 单引号 /" 双引号 // 反斜杠/0 空字符 /a 感叹号( ...
WCF技术剖析之十一:异步操作在WCF中的应用(上篇)
原文:WCF技术剖析之十一:异步操作在WCF中的应用(上篇) 按照操作执行所需的资源类型,我们可以将操作分为CPU绑定型(CPU Bound)操作和I/O绑定型(I/O Bound)操作.对于前者,操 ...
require 'win32ole'module Excel
class WorkBook
#xlEdge
#xlEdgeBottom =9
#xlEdgeLeft = 7
#xlEdgeRight = 10
#xlEdgeTop = 8
#xlColor
#xlColorBlank = 1
#xlColorWhite =2
#xlColorRed = 3
#xlColorGreen =10
#xlColorBlue =5
#xlColorYellow =6
#xlColorPurple = 7 # zi se
#xlColorCyan =8 #qing se
#xlBgColorYellow =19
#xlBgColorCyan =20
#xlBgColorPurple =24
#xlDefaultLineStyle = 1
@@worksheets_name =[]
def initialize(encoding="utf-8")
@excel = WIN32OLE.new("excel.application")
@excel.visible = FALSE
@workbook = @excel.Workbooks.Add()
#@style_id = 0
@encoding = encoding
create_style
end
def add_worksheet(name)
while @@worksheets_name.include?(name)
name +="1"
end
@@worksheets_name << name
worksheet = @workbook.Worksheets.Add()
worksheet.Activate
worksheet.name = name
return WorkSheet.new(worksheet)
end
def show
@excel.visible = TRUE
end
def close
@workbook.Close(0)
@excel.Quit()
end
def create_style
[email protected]('NormalStyle')
sty.Font.Size = 12
sty.Borders(7).LineStyle=1
sty.Borders(8).LineStyle=1
sty.Borders(9).LineStyle=1
sty.Borders(10).LineStyle=1
[email protected]('TitleStyle')
sty.Font.Size = 16
sty.Font.Bold =true
sty.Font.ColorIndex =3
#sty.Interior.ColorIndex = 20
end
end
#worksheet
class WorkSheet
IMAGE_ROW_NUM = 56
@@worksheets_name =[]
def initialize(worksheet)
@row_count = 1
@worksheet = worksheet
end
def add_space_line(n=1)
return if n<1
@row_count +=n
end
def add_title(name)
add_space_line
add_row.add_cell(name,false,"TitleStyle")
end
def add_row()
@current_row = Row.new(@worksheet,@row_count)
@row_count +=1
return @current_row
end
def current_row
return @current_row
end
def add_image(image_path)
if not File.exist?(image_path)
return
end
add_space_line 1
add_row
cell_name=current_row.first_cell
@worksheet.Range(cell_name).Select
@worksheet.Pictures.Insert(image_path)
add_space_line IMAGE_ROW_NUM
end
end
#row
class Row
FILL_TYPE = 4
@@cell_map =["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
def initialize(worksheet,row_id)
@row_id =row_id
@cell_count=0
@worksheet = worksheet
end
def curent_cell
return cell_name(@cell_count)
end
def first_cell
return cell_name(0)
end
def add_cell(value,auto_fit = false,style = "NormalStyle")
range = @worksheet.Range(cell_name(@cell_count))
range['Value'] = value.to_s
range['Style']=style
range.Columns.AutoFit if auto_fit
@cell_count +=1
end
def cell_name(index)
second = index % 26
first = (index - second) / 26
if first == 0
return @@cell_map[second]+@row_id.to_s
end
first -=1
return @@cell_map[first]+@@cell_map[second]+@row_id.to_s
end
def set_cell(index,value,auto_fit = false,style = "NormalStyle")
[email protected](cell_name(index))
range['Value'] = value
range['Style']=style
range.Columns.AutoFit if auto_fit
end
end
end
require 'excel'
excel = Excel::WorkBook.new
worksheet = excel.add_worksheet("new sheet")
worksheet.add_title('title')
row = worksheet.add_row
row.add_cell("chenyan")
row.add_cell(0)
row.add_cell("2006-01-01 01:01:01")
worksheet.add_image("C://Sunset.jpg")
row = worksheet.add_row
row.add_cell("shenbin")
row.add_cell(0)
row.add_cell("2006-01-01 01:01:01")
worksheet.add_image("C://Sunset.jpg")
excel.show