技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Linux下如何將數(shù)據(jù)庫(kù)腳本文件從sh格式變?yōu)閟ql格式

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-06-26 00:18┆點(diǎn)擊:

  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, -- 員工工號(hào)

  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

  說(shuō)明:

  (1) 本文件用于創(chuàng)建tb_employeeinfo表,生成的腳本文件名為example.sql。

  (2) Init函數(shù)用于在屏幕上輸出信息,CreateTable函數(shù)用于創(chuàng)建數(shù)據(jù)表。

  (3) 在sh文件的結(jié)尾,要按順序?qū)⒈疚募乃泻瘮?shù)羅列出來(lái),如本文件包括的函數(shù)是Init和CreateTable。

  2. 生成sql文件的過(guò)程

  (1) 上傳sh文件

  使用FTP工具(如filezilla)將example.sh文件上傳到Linux的對(duì)應(yīng)目錄下。

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

  由于example.sh文件是在本地的Windows操作系統(tǒng)下編寫的,因此要先轉(zhuǎn)換為L(zhǎng)inux下的格式才能使用。如果上傳后直接使用,會(huì)出現(xiàn)“Permissiondenied”的報(bào)錯(cuò)信息。

  dos2unix命令用來(lái)將DOS格式的文本文件轉(zhuǎn)換成UNIX格式的。其使用的格式為:dos2unix file,如果一次轉(zhuǎn)換多個(gè)文件,把這些文件名直接跟在dos2unix之后(dos2unixfile1 file2 file3 …)。

  在這里,命令執(zhí)行如下:

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

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

  (3) 使用chmod命令修改文件的權(quán)限

  在執(zhí)行了dos2unix命令之后,還是不能立馬生成文件,還需要修改文件的權(quán)限。

  chmod命令是Linux系統(tǒng)中最常用到的命令之一,用于改變文件或目錄的訪問(wèn)權(quán)限。若想了解有關(guān)該命令的更多信息,請(qǐng)上網(wǎng)查詢。

  在這里,命令為:chmod 777 example.sh

  (4) 生成sql文件

  直接運(yùn)行帶后綴的sh文件名,即可生成sql文件。命令如下:

  zhou@linux:~/sql> example.sh

  example.sql no exits and is creating it

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

  再次執(zhí)行命令:

  zhou@linux:~/sql> example.sh

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

  表示example.sql文件已經(jīng)存在了,現(xiàn)在刪除后重新生成。

  3. sql文件內(nèi)容

  生成的sql文件名為example.sql,文件內(nèi)容如下:

  use zxdbp_166

  go

  create table tb_employeeinfo

  (

  employeeno varchar(20) not null, -- 員工工號(hào)

  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

  在實(shí)際的軟件開發(fā)項(xiàng)目中,跨平臺(tái)操作是常有的事情。作為一名合格的軟件開發(fā)工程師,一定要熟練掌握不同操作系統(tǒng)下的操作流程及命令。