Linux下MySQL数据库开发技术

2016-02-19 16:37 10 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享Linux下MySQL数据库开发技术的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

  首先,到站点www.hughes.com.au注册后就能免费下载该软件的最新版本。MySQL的安装相当简单,二进制版本(针对某一个硬件平台编译后的软件)的安装只是将文件展开到用户某一目录下然后配置几个参数就可以。例如你下载的文件为:MySQL-2.0.3.tar.gz,你想把mSQL安装到/usr/local目录下,这时,我们需要先将这个文件拷贝到/usr/local这个目录,然后键入命令tar zxvf MySQL-2.0.3.tar.gz,这个命令将展开该压缩文件。一般,MySQL数据库系统的所有文件都安装到/usr/local/Hughes目录下。接着就是配置MySQL数据库。你所要做的工作就是要修改/usr/local/Hughes目录下的文件msql.conf。

  在实际应用中我们改动得最多的是MySQL—User 和Admin—User这两个参数。MySQL—User指明运行MySQL数据库服务程序的用户,而Admin—User指明能对MySQL数据库系统执行特权操作(如:关闭数据库服务程序的运行,创建数据库等操作)的用户。因此,如果你希望MySQL服务程序以database这个用户运行,指定admin这个用户能执行数据库操作,你要将MySQL—User和Admin—User所在的行分别改为:MySQL—User = database和Admin—User = admin。另外你还必须将Hughes目录下的文件和目录的属主改为database。在配置完成后,注销当前用户的身份,重新以msql.conf的参数 MySQL—User设定的用户登录到系统,进入/usr/local/Hughes/bin目录键入如下的命令:./msql2d &,这样就启动了MySQL数据库系统。至于带源码的安装软件,看一看README和INSTALL这些文件一般就能顺利安装完成。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  为了将MySQL集成到用户的应用程序中去,MySQL数据库系统为用户提供了一个C语言的API库和一个解释器:w3—msql,通过C语言的API库,你可以将MySQL集成到用标准C语言开发的应用程序中去。而有了w3—msql这个工具,你可以通过编写类C语言脚本语言将mSQL数据库嵌入到html文件中,下面举一程序实例进行说明。

  下面的程序片段要完成的功能是将浏览器页面上提交上来的用户名和口令与表registered—user中的用户名和口令相比较,如果用户名和口令正确,将在页面上显示注册成功的信息,否则提示用户注册失败。采用C语言实现的方法如下所示:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

   voidmain(intargc,charargv[])
  {
  //解析用户提交上来的用户名和口令并保存到变量username和password—usr中
  …
  //创建与本机的mSQL数据库系统的套接字
  sock=msqlConnect(NULL);
  //选择数据库test
  if(msqlSelectDB(sock,″test″)==-1)
  {
  //输出数据库选择失败信息
  …
  }else
  {
  sprintf(buff,″select??fromregistered—userwhereusername=′%s′″,username);
  //以username查询表registered—user中的记录
  if(msqlQuery(sock,buff)==-1)
  {
  //输出查询失败的错误信息
  …
  }
  //将查询结果保存到m—result类型的指针变量res
  res=msqlStoreResult();
  //得到查询结果的记录数
  numrow=msqlNumRows(res);
  if(numrow==1)
  {
  //得到当前记录,类型为:m_row
  row=msqlFetchRow(res);
  //将保存在表中的口令和用户输入的口令相比较
  if(!strcmp(password_ur,row[2]))
  {
  //输出注册成功信息
  }else
  {
  //输出口令不对的提示信息
  }
  }else
  {
  //输出用户名输入出错信息
  }
  }
  //释放查询结果的指针
  msqlFreeResult(res);
  //关闭数据库系统的套接字
  msqlClose(sock);
  return;
  }

  以上的例子包含有将MySQL集成到C语言程序中用到的主要函数,这些函数基本能满足应用程序的需要。如果采用w3—msql能解释的类C语言嵌入到html文件中,可以达到同样的功能。与C语言编写的CGI程序需要编译不同,脚本语言不需要编译,该脚本由MySQL数据库系统提供的CGI程序w3—msql来解释执行。脚本中主要的代码段如下所示:

〈HTML〉
  〈HEAD〉
  〈METAHTTP-EQUIV=″Content-Type″CONTENT=″text/html;charset=iso-8859-1″〉
  〈/HEAD〉
  〈bodyTEXT=″#000000″BACKGROUND=″/icon/back.jpg″topmargin=″10″〉
  〈!
  //解析用户提交上来的用户名和口令并
  保存到变量username和password—usr中
  …
  //创建与本机的mSQL数据库系统的套接字
  $sock=msqlConnect();
  //选择数据库test
  if(msqlSelectDB($sock,″test″)==-1)
  {
  //输出数据库选择失败信息
  fatal(″错误:无法与数据库连接n″);
  }else
  {
  $buff=″select??fromregistered—userwhereusername=′$username′″;
  //以username查询表registered—user中的记录
  if(msqlQuery($sock,$buff)==-1)
  {
  //输出查询失败的错误信息
  fatal(″查询错误n″);
  }
  //将查询出来的结果保存到查询结果的指针变量res中
  $res=msqlStoreResult();
  //得到查询结果的记录数目
  $numrow=msqlNumRows($res);
  if($numrow==1)
  {
  //得到当前记录的指针
  $row=msqlFetchRow($res);
  //将保存在表中的口令和用户输入的口令相比较
  if(!strcmp($password—ur,$row[2]))
  {
  //输出注册成功信息
  echo(″〈center〉注册成功〈/center〉″);
  }else
  {
  //输出口令不对的提示信息
  echo(″〈center〉您输入的口令不正确〈/center〉″);
  }
  }else
  {
  //输出用户名输入出错信息
  echo(″〈center〉您输入的用户名不正确〈/center〉″);
  }
  }
  //释放查询结果占用的内存
  msqlFreeResult($res);
  //关闭数据库系统的套接字
  msqlClose($sock);
  〉
  〈/BODY〉
  〈/HTML〉

  以上介绍了在Linux下以MySQL数据库系统作为后台数据库开发应用系统的方法。有了这些基本的方法,我们就能开发出各种基于mSQL数据库的应用系统。

来源:http://www.tulaoshi.com/n/20160219/1612578.html

延伸阅读
3.8 解决方案随笔     本节内容相当杂;介绍了怎样编写解决各种问题的查询。多数内容是在邮件清单上看到的解决问题的方案(谢谢清单上的那些朋友,他们为解决方案作了很多工作)。     3.8.1 将子选择编写为连接     MySQL自3.24版本以来才具有子选择功能。这项功能的缺少是MySQL 中一件...
MySQL提供用C编程语言编写的客户机库,可以用它编写访问M y S Q L的客户机程序。这个库定义了应用程序编程接口,包括下面的实用程序:     ■ 建立和终止与服务器会话的连接管理例程。     ■ 构造查询的例程,将例程发送到服务器,并处理结果。     ■ 当其他C API调用失败时,确定错误...
4.2 MySQL 查询优化程序     在发布一个选择行的查询时, MySQL 进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更详细的信息,可参阅MySQL 参考指南中的“Getting Maximum Performance from MySQL”,该章描述了MySQL 采用的各种优化措施。该章中的信息会不断变化,因为MySQL...
6.4 客户机程序3—产生连接代码模块     对于我们的第三个客户机程序,即客户机程序3,通过将它封装到函数do_connect() 和do_disconnect() 中,将使连接和断开代码更加模块化,这样可以很容易地由多个客户机程序使用。这提供一种选择,可将连接代码精确地嵌入到main() 函数中。无论如何,对在应用程序过程中套用老调的任何...
6.7 客户机程序5—交互式查询程序     让我们把迄今为止研究的诸多内容整理一下,编写一个简单的交互式客户机程序。它的功能包括可以进入查询,用通用目标查询处理程序process_query 执行查询,并用前面研究过的显示格式process_result_set() 显示查询结果。     客户机程序5在某些方面与mysql 类似,虽...

经验教程

69

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部