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

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

时间: 2024-07-28 23:22:09

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

通过句柄恢复Linux下误删除的数据库数据文件

环境介绍: OS:Redhat EnterPrise 5.4DB:Oracle EnterPrise Database 11gR2(11.2.3.0)        在数据库正常运行时,运维人员在无意中将部分数据文件删除了,此时数据库管理员并不知道,且数据库运行正常,并没有立即抛出错误和告警:但是开发人员在对某张表进行更新的时候,正好这张表在被删除的数据文件中,报出ORA-01110和ORA-27041错误.随即数据库管理人员来看现象,发现有一个文件已经从系统层面删除了,并且数据库数据库没有进行

Unix/Linux 下直接执行 PHP 脚本文件

由于我们的服务器都是使用的 Linux 系统,并且都有搭建完整的 PHP 环境,所以有时候我会用 PHP 写一些执行自动化任务的脚本,但是每次执行这个 PHP 脚本都需要使用 php myscript.php 的方式,稍微有点儿??隆F涫担?强梢灾苯又葱 PHP 脚本文件的. 编写你的脚本文件 这里我们编写一个名字为 test_run.php 的文件,文件的内容如下: Here is some plain text. Here is the file name: <?php echo $argv

linux下oracle自动备份脚本

linux下oracle自动备份脚本  vi /home/oracle/backup.sh   //编写脚本 以下为脚本内容 time=` date +"%Y%m%d%H%M" ` //变量time 获取当前系统时间 su - oracle -c "exp hbskjt_0113/password owner=hbskjt_0113 file=/home/oracle/hbskjt_$time.dmp"  //导库脚本 cd /home/oracle tar zcv

Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)_Linux

MariaDB数据库 分为源代码版本和二进制版本,源代码版本需要cmake编译,这里是二进制版本的安装 # tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz # mv mariadb-5.5.31-linux-x86_64 /usr/local/MySQL (必需这样,很多脚本或可执行程序都会直接访问这个目录) # groupadd mysql 增加 mysql 属组 # useradd -g mysql mysql 增加 mysql 用户 并归于mysql

Linux下编写Lua扩展so文件和调用方法实例

  这篇文章主要介绍了Linux下编写Lua扩展so文件和调用方法实例,本文给出C语言代码.编译SO文件.Lua中调用代码实例,需要的朋友可以参考下 代码如下: #include #include #include #include #include #include #include #include #include #include #include "lua.h" #include "lualib.h" #include "lauxlib.h&qu

Linux下SVN服务器自动更新文件到Web目录的方法_Linux

说明: 服务器操作系统:CentOS 服务器IP:192.168.21.134 SVN安装路径:/usr/local/svn SVN项目路径:/home/svn SVN登录账号:osyunwei SVN登录密码:123456 Web站点根目录:/home/web实现目的: 当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一.使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/ho

LINUX下PHP程序实现WORD文件转化为PDF文件的方法_php技巧

本文实例讲述了LINUX下PHP程序实现WORD文件转化为PDF文件的方法.分享给大家供大家参考,具体如下: <?php set_time_limit(0); function MakePropertyValue($name,$value,$osm){ $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue"); $oStruct->Name = $name; $oStruct->V

Linux有问必答:如何在Linux下重命名多个文件

Linux有问必答:如何在Linux下重命名多个文件 提问:我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错.你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,r

提前认识软件开发(29) 数据库脚本文件的布局

"没有规矩,不成方圆",规范数据库脚本文件的代码布局具有以下重要意义: (1) 可表现出代码良好的逻辑结构,提高代码的准确性.连续性.可读性及可维护性. (2) 有利于提高产品的开发质量和效率,并降低开发成本. (3) 对于开发人员来说,养成良好的脚本编写习惯有助于提高个人的数据库脚本编程水平,进而提高脚本编程效率. 可见,统一的.良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,并涉及到自身脚本编程能力的提高. 1. 脚本布局顺序概述 在实际的软件开发