Linux下如何將數據庫腳本文件從sh格式變爲sql格式

 

 在從事軟件開發的過程當中,常常會涉及到在Linux下將數據庫腳本文件從sh格式變爲sql格式的問題。本文以一個實際的腳本文件爲例,說明格式轉換的過程。linux

       1. sh文件內容sql

       本文中的文件名爲example.sh,其內容以下:數據庫

#!/bin/bashbash

 

function Init()函數

{工具

    if [ -f"example.sql" ]spa

    then操作系統

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

        rm -fexample.sqlorm

    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       -- 員工年齡

相關文章
相關標籤/搜索