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

悟途网 2014年07月30日 00:42 阅读()
字号 (A- A+)

从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

希望可以帮助到您!

热门文章
随机推荐
Linux系统中的passwd命令实用技巧小结

Linux系统中的passwd命令实用

Linux系统中的passwd命令实用技巧小结,先来回顾一下p...

分享关于linux用户权限命令大全

分享关于linux用户权限命令

linux用户权限命令大全,创建组 groupadd test修改组 grou...

怎么让Chrome安装来自非WebStore第三方扩展

怎么让Chrome安装来自非Web

Chrome浏览器安装来自非WebStore的扩展方法,Google Chrome加...

修改Linux中的用户名与root密码

修改Linux中的用户名与root密

修改Linux中的用户名,Linux下修改root密码,Linux在终端启...

ubuntu linux 文件系统目录结构

ubuntu linux 文件系统目录结构

ubuntu linux 文件系统目录结构,boot/ 启动文件。所有与系...

解决linux启动过程故障

解决linux启动过程故障

linux启动过程故障,故障一 MBR被破坏,故障二 grub损坏,故...

在Linux下卸载文件系统

在Linux下卸载文件系统

卸载Linux文件系统相关命令:umount 卸载相关辅助命令:...

Linux 进程间通讯共享内存方式

Linux 进程间通讯共享内存方

共享内存方式:从物理内存里面拿出来一部分作为多个...