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

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

       在从事软件开发的过程中,经常会涉及到在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之后(dos2unix file1 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

 

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



(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)


目录
相关文章
|
6天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
42 10
|
6天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
61 6
|
3天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
6天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
25 0
|
7天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
8天前
|
负载均衡 Java 关系型数据库
linux 下amoeba实现数据库的负载均衡
linux 下amoeba实现数据库的负载均衡
8 1
|
14天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
14天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
14天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
16天前
|
存储 关系型数据库 MySQL
数据库字符编码MySQL中使用UTF-8还是UTFB4
数据库字符编码MySQL中使用UTF-8还是UTFB4
19 0