数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的,既使你不会Windows API,只要参照本文的方法,写数据库应用程序,你也行。本文以MySql和Access数据库为基础,简要介绍C语言如何操作数据库,本文部分知识点也适用于linux下面编程使用MySql数据库。

一、如果你只会一点C语言,那么还有哪些知识需要你自己去补充呢?

    (1)了解一下数据库的基本情况,发展史,很有必要,选用一种数据库,数据库有很多,开源数据库据说多达35个,常用的数据库也有如下几个:MySQL、 PostgreSQL、MaxDB、Ingres、SQLite。这些大部分都是免费开源的数据库,都需要你去下载安装的,微软还有收费的MSSQL,Access数据库可以使用,当然,对于大多数中国用户来说,MSSQL, Access免费使用,本文以MySql和Access数据库为例,示例C语言如何操作数据库。关于Access数据库,安装过office的基本上都有,如果不会使用它创建mdb数据库的话,请到http://www.bccn.net/Article/sjk/access/Index.html 本站的技术文档中学习一下。

    (2)了解SQL基本语法,所谓的SQL,就是指结构化查询语言,数据库操作的基本语言,至少有四个语句需要你学习和掌握,它们就是Select查询语句,Update更新语句,Insert插入语句和Delete删除语句,其它的还有建表,建库,建关系等等。。可以参考偶上传的资料《mysql中文参考手册》,有很多的SQL语言学习书,想要深入学习的还可以看老外的《SQL语言艺术》这本。

资料下载:http://115.com/file/be42nia8

文件:mysql5.1中文手册.rar

    (3)了解C语言与数据库互动的方式,其实只有两种,一种是通过win32 API接口,一种就是直接通过数据库提供的C头文件和DLL库直接操作数据库。mySQL同时提供两种接口方式,SQLite提供直接访问的C语言头文件和DLL库,SQLite还可以把代码直接编译进程序当中,使数据库访问更加快徢。Windows常用数据库接口是odbc接口,另外还有ADO, OLE DB接口,当然,和odbc相比,它们的学习基本上是一通百通的,数据库互动,基本上成了一个定式,创建数据库链结->创建语句对象->执行SQL命令->访问执行结果集->关闭链结,不论是java语言还是C#,还是VB,javascript语言,都是相同或是相似的,所以学习也是一通百通,因为重点并不在这里,而是在SQL本身的掌握上,请将重点移到SQL语言本身,数据库设计原则,存储过程上面。

    (4)数据源DSN,关于如何创建数据库的链结数据源DSN,这个是基础知识,在控制面板/管理工具/数据源(odbc)中,如果不会玩的话,还是在网上去搜索一下图文教程,学习一下,本文就不重复了。

二、准备本示例所需要的数据库。

    (1)下载并安装:mySQL的官网:http://www.mysql.com/downloads/,目前最新版本为5.5.18,虽然已被人收购,但并不影响我们学习SQL,版本分为企业版和公众版,公众版对于学习的个人是免费的,而且也是足够了,所以我们下载上面的MySQL Community Server版,另一个需要下载的是Connector/ODBC,这个是ODBC驱动,可选下载为MySQL Workbench (GUI Tool),这个是用于Gui前端管理软件,就是命令行的可视版,说白了就是一个窗口界面,你可以通过界面操作mySql数据库,会命令行的都习惯于使用命令行操作,如果你想成为它的专家,使用命令行吧。不懂英文页面?没关系,下载最简单的方式就是在上点那个最大的图,mysql installer for windows,上面所说的三个部件包括使用文档资料都放在一个安装包里了,209MB。测试了一下,从National Sun Yat-Sen University, Taiwan  台湾站http下载比较快。安装额外需求,.NET4运行库。补充说明一下,MySQL Workbench的安装需要VC++ 2010运行库和.net4运行库,数据库系统MySQL Community Server版和Odbc驱动的安装无任何附加安装需求,所以可以单独下载所需部件进行安装,不用注册个人资料也可以直接下载。

    安装过程中如果有需要,可以选择Developer Componets下面的C include files/Lib files这个,是用来直接和数据库相链的C语言头文件和库文件。安装完成后,在弹出的配置MySql对话框,选择standard Confiuration,下一步,勾选include Bin Director in Windows Path这项,下一步后,在Modify Securiti Settings那里填写新的登录安全密码,下一步Execute执行既可完成。

资料下载:上次提供的5.1.3版客户端中文显示有问题,5.1.0版虽然中文显示没有问题,但在创建表约束那里有问题。最新的版本经过测试没有这个二个问题。

http://115.com/file/an4yzdwc#
mysql-5.5.18-win32.rar (mysql 5.5.18官方版,31MB,)

http://115.com/file/c2bpnc9g
mysql-connector-odbc-5.1.9-win32.rar   (mysql odbc 驱动32位  2.5MB)

    (2)数据库示例:以简单的通讯录为例。

数据库:PersonAL

表1:Users(本表存放用户信息)

字段(共3个):uid (自动数字),name(char, 10)--姓名,pass(char, 15)--密码

表2:PersonInfo(本表存放联系人信息)

字段(共10个):pid (自动数字), name(char, 10) --姓名,gender(char, 2)--性别, birthday(date)--生日

      city(char, 10)--所在城市, telphone(char, 20)--联系电话, qq(char, 15) -- QQ号,

      web(char 30)--微博, gid(int)--所属组id,uid(int)--所属用户id

表3:GroupInfo(本表存放联系人分组信息)

字段(共2个):gid(自动数字), name(char, 20) --组名

    (2.1)Access数据库创建:

          请参照Access软件使用创建PersonAL.mdb数据库,并创建这三张对应的表,如果不会,请赶快学习,不重复了。同时这里也提供创建好的数据库。

建好的数据库:http://115.com/file/an4ntb4n#
PersonAL.rar

   (2.2)MySql数据库创建:你可以先把上面的<mysql中文手册>第三节教程,打开学习一下,这里要提醒的是每个SQL语句都以分号为结束,和C语言一样,不要忘记打了, 微软的SQL Server中不需要这个分号。如果SQL命令输错了,请\c,然后回车返回。 数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的,既使你不会Windows API,只要参照本文的方法,写数据库应用程序,你也行。本文以MySql和Access数据库为基础,简要介绍C语言如何操作数据库,本文部分知识点也适用于linux下面编程使用MySql数据库。

一、如果你只会一点C语言,那么还有哪些知识需要你自己去补充呢?

    (1)了解一下数据库的基本情况,发展史,很有必要,选用一种数据库,数据库有很多,开源数据库据说多达35个,常用的数据库也有如下几个:MySQL、 PostgreSQL、MaxDB、Ingres、SQLite。这些大部分都是免费开源的数据库,都需要你去下载安装的,微软还有收费的MSSQL,Access数据库可以使用,当然,对于大多数中国用户来说,MSSQL, Access免费使用,本文以MySql和Access数据库为例,示例C语言如何操作数据库。关于Access数据库,安装过office的基本上都有,如果不会使用它创建mdb数据库的话,请到http://www.bccn.net/Article/sjk/access/Index.html 本站的技术文档中学习一下。http://www.zhongxingbz168.com   
http://www.chengdubanzheng99.com


    (2)了解SQL基本语法,所谓的SQL,就是指结构化查询语言,数据库操作的基本语言,至少有四个语句需要你学习和掌握,它们就是Select查询语句,Update更新语句,Insert插入语句和Delete删除语句,其它的还有建表,建库,建关系等等。。可以参考偶上传的资料《mysql中文参考手册》,有很多的SQL语言学习书,想要深入学习的还可以看老外的《SQL语言艺术》这本。

资料下载:http://115.com/file/be42nia8

文件:mysql5.1中文手册.rar

    (3)了解C语言与数据库互动的方式,其实只有两种,一种是通过win32 API接口,一种就是直接通过数据库提供的C头文件和DLL库直接操作数据库。mySQL同时提供两种接口方式,SQLite提供直接访问的C语言头文件和DLL库,SQLite还可以把代码直接编译进程序当中,使数据库访问更加快徢。Windows常用数据库接口是odbc接口,另外还有ADO, OLE DB接口,当然,和odbc相比,它们的学习基本上是一通百通的,数据库互动,基本上成了一个定式,创建数据库链结->创建语句对象->执行SQL命令->访问执行结果集->关闭链结,不论是java语言还是C#,还是VB,javascript语言,都是相同或是相似的,所以学习也是一通百通,因为重点并不在这里,而是在SQL本身的掌握上,请将重点移到SQL语言本身,数据库设计原则,存储过程上面。

    (4)数据源DSN,关于如何创建数据库的链结数据源DSN,这个是基础知识,在控制面板/管理工具/数据源(odbc)中,如果不会玩的话,还是在网上去搜索一下图文教程,学习一下,本文就不重复了。

二、准备本示例所需要的数据库。

    (1)下载并安装:mySQL的官网:http://www.mysql.com/downloads/,目前最新版本为5.5.18,虽然已被人收购,但并不影响我们学习SQL,版本分为企业版和公众版,公众版对于学习的个人是免费的,而且也是足够了,所以我们下载上面的MySQL Community Server版,另一个需要下载的是Connector/ODBC,这个是ODBC驱动,可选下载为MySQL Workbench (GUI Tool),这个是用于Gui前端管理软件,就是命令行的可视版,说白了就是一个窗口界面,你可以通过界面操作mySql数据库,会命令行的都习惯于使用命令行操作,如果你想成为它的专家,使用命令行吧。不懂英文页面?没关系,下载最简单的方式就是在上点那个最大的图,mysql installer for windows,上面所说的三个部件包括使用文档资料都放在一个安装包里了,209MB。测试了一下,从National Sun Yat-Sen University, Taiwan  台湾站http下载比较快。安装额外需求,.NET4运行库。补充说明一下,MySQL Workbench的安装需要VC++ 2010运行库和.net4运行库,数据库系统MySQL Community Server版和Odbc驱动的安装无任何附加安装需求,所以可以单独下载所需部件进行安装,不用注册个人资料也可以直接下载。

    安装过程中如果有需要,可以选择Developer Componets下面的C include files/Lib files这个,是用来直接和数据库相链的C语言头文件和库文件。安装完成后,在弹出的配置MySql对话框,选择standard Confiuration,下一步,勾选include Bin Director in Windows Path这项,下一步后,在Modify Securiti Settings那里填写新的登录安全密码,下一步Execute执行既可完成。

资料下载:上次提供的5.1.3版客户端中文显示有问题,5.1.0版虽然中文显示没有问题,但在创建表约束那里有问题。最新的版本经过测试没有这个二个问题。

http://115.com/file/an4yzdwc#
mysql-5.5.18-win32.rar (mysql 5.5.18官方版,31MB,)

http://115.com/file/c2bpnc9g
mysql-connector-odbc-5.1.9-win32.rar   (mysql odbc 驱动32位  2.5MB)

    (2)数据库示例:以简单的通讯录为例。

数据库:PersonAL

表1:Users(本表存放用户信息)

字段(共3个):uid (自动数字),name(char, 10)--姓名,pass(char, 15)--密码

表2:PersonInfo(本表存放联系人信息)

字段(共10个):pid (自动数字), name(char, 10) --姓名,gender(char, 2)--性别, birthday(date)--生日

      city(char, 10)--所在城市, telphone(char, 20)--联系电话, qq(char, 15) -- QQ号,

      web(char 30)--微博, gid(int)--所属组id,uid(int)--所属用户id

表3:GroupInfo(本表存放联系人分组信息)http://www.zhonghuabz168.com
http://www.shandongbz168.com
http://www.zhengzhoubz168.com

字段(共2个):gid(自动数字), name(char, 20) --组名

    (2.1)Access数据库创建:

          请参照Access软件使用创建PersonAL.mdb数据库,并创建这三张对应的表,如果不会,请赶快学习,不重复了。同时这里也提供创建好的数据库。

建好的数据库:http://115.com/file/an4ntb4n#
PersonAL.rarhttp://www.chongqingbz168.com
http://www.zhongxing999.com


   (2.2)MySql数据库创建:你可以先把上面的<mysql中文手册>第三节教程,打开学习一下,这里要提醒的是每个SQL语句都以分号为结束,和C语言一样,不要忘记打了, 微软的SQL Server中不需要这个分号。如果SQL命令输错了,请\c,然后回车返回。

    (2.3)mySql的中文问题,默认的语言不符合要求,我们需要修改mysql目录下面的my.ini中的编码语言,这里一共有两地方需要修改,一个是[client]客户端那里,把里面的default-character-set=xxxx 改成 default-character-set=gbk或是gb2312(中文编码),可使mysql.exe客户端在查询的时候显示中文数据,另一个服务器端,修改成default-character-set=utf8,这样可以保证和网页的常用编码一致,保存配置,打开控制面板中的服务,重启mysql服务器,从开始菜单中到mysql程序组启动mysql命令行客户端,输入安装时设置的密码,进入到mysql命令行状态


    (2.3)mySql的中文问题,默认的语言不符合要求,我们需要修改mysql目录下面的my.ini中的编码语言,这里一共有两地方需要修改,一个是[client]客户端那里,把里面的default-character-set=xxxx 改成 default-character-set=gbk或是gb2312(中文编码),可使mysql.exe客户端在查询的时候显示中文数据,另一个服务器端,修改成default-character-set=utf8,这样可以保证和网页的常用编码一致,保存配置,打开控制面板中的服务,重启mysql服务器,从开始菜单中到mysql程序组启动mysql命令行客户端,输入安装时设置的密码,进入到mysql命令行状态