在软件开发过程中,经常参与Linux从下一个脚本文件数据库sh格式改变sql格式问题。在本文中,一个实际的脚本文件,例如。描述格式转换过程。

       1. sh文件内容

本文中的文件名称为example.sh,其内容例如以下:

#!/bin/bash

function Init()

{

if [ -f"example.sql" ]

then

echo"example.sql is exits and is deleting it,then recreate it"

rm -fexample.sql

else

echo"example.sql no exits and is creating it"

fi

echo " usezxdbp_166 ">>example.sql

echo " go">>example.sql

}

function CreateTable()

{

cat>>example.sql<< EOF

create table tb_employeeinfo

(

employeeno        varchar(20)      not null,      -- 员工工号

employeename    varchar(20)      not null,      -- 员工姓名

employeeage       int                          null       -- 员工年龄

);

create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);

create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);

print 'create table tb_employeeinfo ok'

go

EOF

}

## Execute function

Init

CreateTable

说明:

(1)  本文件用于创建tb_employeeinfo表。生成的脚本文件名称为example.sql。

(2)  Init函数用于在屏幕上输出信息,CreateTable函数用于创建数据表。

(3)  在sh文件的结尾。要按顺序将本文件所包括的全部函数罗列出来,如本文件包括的函数是Init和CreateTable。

        2. 生成sql文件的过程

        (1)  上传sh文件

使用FTP工具(如filezilla)将example.sh文件上传到Linux的相应文件夹下。

        (2)  使用dos2unix命令改动文件格式

因为example.sh文件是在本地的Windows操作系统下编写的。因此要先转换为Linux下的格式才干使用。

假设上传后直接使用,会出现“Permissiondenied”的报错信息。

dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的。其使用的格式为:dos2unix file,假设一次转换多个文件,把这些文件名称直接跟在dos2unix之后(dos2unixfile1 file2 file3 …)。

在这里,命令运行例如以下:

zhou@linux:~/sql> dos2unix example.sh

dos2unix: converting file example.sh to UNIX format ...

        (3)  使用chmod命令改动文件的权限

在运行了dos2unix命令之后,还是不能立刻生成文件,还须要改动文件的权限。

chmod命令是Linux系统中最经常使用到的命令之中的一个,用于改变文件或文件夹的訪问权限。若想了解有关该命令的很多其它信息。请上网查询。

在这里,命令为:chmod 777 example.sh

        (4)  生成sql文件

直接运行带后缀的sh文件名称,就可以生成sql文件。

命令例如以下:

zhou@linux:~/sql> example.sh

example.sql no exits and is creating it

表示example.sql文件之前不存在。这是第一次生成。

再次运行命令:

zhou@linux:~/sql> example.sh

example.sql is exits and is deleting it,then recreate it

表示example.sql文件已经存在了,如今删除后又一次生成。

        3. sql文件内容

生成的sql文件名称为example.sql。文件内容例如以下:

use zxdbp_166

go

create table tb_employeeinfo

(

employeeno         varchar(20)      not null,      -- 员工工号

employeename    varchar(20)      not null,      -- 员工姓名

employeeage       int                           null       -- 员工年龄

);

create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);

create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);

print 'create table tb_employeeinfo ok'

go

在实际的软件开发项目中。跨平台操作是常有的事情。作为一名合格的软件开发project师,一定要熟练掌握不同操作系统下的操作流程及命令。

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,我们聊天号码:245924426。欢迎关注!

)

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Linux在什么样的从脚本文件数据库sh格式改变sql格式的更多相关文章

  1. Linux下如何将数据库脚本文件从sh格式变为sql格式

    在从事软件开发的过程中,经常会涉及到在Linux下将数据库脚本文件从sh格式变为sql格式的问题.本文以一个实际的脚本文件为例,说明格式转换的过程.        1. sh文件内容 本文中的文件名为 ...

  2. linux上执行mysql的脚本文件

    我们测试过程中,经常需要执行升级脚本或导入生产测试数据,对于轻量的升级脚本可以直接在客户端工具中打开执行,但是对于文件内容比较大的.sql文件,比如几百M,几G的sql文件,直接拖到客户端工具打开执行 ...

  3. Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式

    问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...

  4. shell 脚本文件类型.sh ,变量

    1. shell脚本编程的基本过程 (1)建立shell文件,以 .sh 结尾的文件 (2)赋予shell文件执行权限,chmod 0777 文件名 (3)执行shell文件, ./ 文件名 或者ba ...

  5. 【转】【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...

  6. 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记

    第二十三章:使用数据库 MySQL数据库 MySQL客户端界面 mysql命令行参数 参数 描述 -A 禁用自动重新生成哈希表 -b 禁用 出错后的beep声 -B 不使用历史文件 -C 压缩客户端和 ...

  7. 【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup #Mysql="mysql" #MysqlDump="mysqldump&qu ...

  8. dos2unix(windows脚本文件放到unix下运行要注意)

    在windows下编写的shell脚本文件,直接放到linux下运行,是不行的. infiniDB的倒库脚本文件load.sh,将tbl文件导入infiniDB,怎么运行不成功,不建job.运来,是w ...

  9. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

随机推荐

  1. HDU 3830 Checkers

    意甲冠军: 有三件  所有其他棋子可以跳  不能分开的两个跳跃  当被问及状态u为了国家v最低短跳转 思路: 对于一个状态三个棋子的位置能够设为 x y z  (小到大) 仅仅有当y-x=z-y的时候 ...

  2. 本地或者服务器同时启动2个或多个tomcat

    一,修改配置文件server.xml的端口 C:\apache-tomcat-5.5.23-1\conf\server.xml用记事本什么的打开修改3个地方   第一: <Server port ...

  3. Thinkphp常用标签

    告:在使用下列所说的任何标签库都需要 HTML第一行加入 <tarlib name=”cx,html” /> 如果想单独引入cx标签库就直接写成<tarlib name=”cx” / ...

  4. Cacti监控Tomcatserver实现过程

    1 首先去官网上面下载通用的监控模板 一般使用TomcatStats-0.1.zip 模板居多,下载地址: http://forums.cacti.net/download/file.php?id=1 ...

  5. CSS选项卡

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org ...

  6. mysql安装注意

    mysql安装教程,网上到处都有,我这里就不细说了. 但是有一点要注意,安装完之后,点击MySql 5.5 Command Line Client时,有可能出现一闪而过,打不开mysql的情况: 首先 ...

  7. 为什么不要在android或者ios上直连mysql或者sqlserver之类的数据库(跳大神)

    很多同学 都有直连这些数据库的想法,假设我说了下面二个问题之后你还想直连,那我也没办法 数据库是一个服务端最重要的部分,也是最脆弱的部分,更是最敏感的部分 假设直连会造成例如以下问题 1.安全问题,你 ...

  8. FREESWITCH SEESION

    SESSION SESSION为FS的核心概念之一,所以需要拿出来专门的分析下. 从以下几个方面进行分析,结构类型,资源的管理,对于呼叫的意义,规格. 1.结构类型 每一次呼叫会申请一个session ...

  9. UVa 825 - Walking on the Safe Side

    题目:在一个N*M的网格中,从左上角走到右下角,有一些点不能经过,求最短路的条数. 分析:dp,帕斯卡三角.每一个点最短的就是走N条向下,M条向右的路. 到达每一个点的路径条数为左边和上面的路径之和. ...

  10. ADO.NET连接方式

    使用Command.DataReader和DataSet两种方法实现数据绑定 方法1:使用Command和DataReader SqlConnection con = new SqlConnectio ...