初学Windows下mysql的安装以及其C API使用

原创 2005年04月28日 20:55:00
主要介绍mysql在windows下的安装以及一些基本的应用.并且介绍了其CAPI的使用.一,      mysql的安装和使用。
1,      安装mysql,http://dev.mysql.com/downloads/下载mysql-4.0.23-win.zip,听说这个版本比较稳定,曾经下载过mysql-4.1.7-win.zip,但是不好用,老是启动的时候提示进程意外终止,下载完以后就一路next拉。
2,      启动mysql,进入c:/mysql/bin,点击winmysqladmin就好了,第一次进去的时候会要求填入用户名和密码的,以便在系统目录下生成my.ini文件。所以要注意在卸载mysql的时候一定要搜索一下my.ini,并且把他删除,免得他影响下一次的安装。不过以后启动就用net start mysql,关闭使用net stop mysql就好了。可以输入c:/mysql/bin/mysql来测试一下。
3,      用户管理,刚安装的时候只有两个用户,一个是root,一个是空,他们的密码都为空。我们先为root来设置口令。C:/mysql/bin/mysqladmin -u root password "1234567"。 mysql -u root -p.输入密码以后就可以看见mysql提示符了,
show databases;查看所有的数据库,记得一定要打后面的分号,回车只是换行。
use mysql; 选择数据库mysql,
show tables from mysql; 查看数据库mysql中的所有表格,在user表格中就记录了用户名,密码,用户权限等信息。
Select host,password,user from user; user里面列数太多了,看到这三个信息就差不多了,里面列出来了所有的用户名,以及允许登陆的地址。在这里先删除匿名用户,delete from user where user="",接着把host不是本地的删除,delete form user where host=www.*.com,现在就只剩下一个root用户可以从本地登陆我的数据库了。下面添加一个常用的用户,假定该用户可以从任意地址登录,并且拥有所有的权限,grant all privileges on *.* to sagely@"%" identified by ‘密码' with GRANT OPTION。再一次Select host,password,user from user;就可以看到多了一个sagely用户,他可以从任何地址登录,至于添加别的用户也是同理,只是可能权限控制不同,可以使用插入user中一条记录来实现,譬如insert into user values(‘localhost','sage',PASSWORD(‘123'),'Y','Y','Y','Y',,,,,);来实现,具体的Y还是N依照权限而定。这样就实现了对mysql数据库用户的管理。
4,      数据的插入、删除,修改和查询。
在这一部分,主要是应用了SQL语句。(在mysql命令行下)
create database ra; 创建一个名为ra的数据库。
Use ra; Create table usr_info(c varchar(15),st varchar(15),l varchar(15),o varchar(15),u varchar(15),cn varchar(15))创建一个名为usr_info的表,在表中有6个属性。
Insert into usr_info values("cn","dd","dd","dd","ee","ee")插入具体数据。等等,具体都和SQL语句是一样的。
二 ,C API的使用
1,      环境的设定
在VC里的toos->option->directories中将include增加一个c:/mysql/include,将lib增加一个c:/mysql/lib,将libmysql.dll和libmysql.lib拷到当前目录下,并且把libmysql.lib增加到工程中。
2,      建立与服务器的连接。
Include <mysql.h> //包含头文件
MYSQL *conn;//定义一个MYSQL类型结构,这个几乎在所有的后面的编程中都需要
MYSQL *mysql_init(MYSQL *conn);//如果conn=NULL,返回一个新分配的句柄结构返回,反之则重新初始化该结构,出现错误则返回NULL;
MYSQL *mysql_real_connect(MYSQL * connection,const char *server_host,const char *sql_urs_name,const char *sql_password,const char *db_name,unsigned int port_number,const char *unix_socket_name,unsigned int flags);//连接MYSQL服务器,里面的参数应该很清楚了,一般port_number和unix_socket_name的值为0和NULL。例如:
mysql_real_connect(conn_ptr,"localhost","sagely","secret","ra",0,NULL,0);
     void mysql_close(MYSQL *connection);关闭一个连接。
3,      执行SQL语句
mysql_select_db(MYSQL *connection,const char *db_name);选定某个数据库。
     int mysql_query(MYSQL *connection,const char *query)//他将执行query语句,运行成功将返回0,例如mysql_query(conn_ptr, Create table cert_info(...),将创建一个名为cert_info的表,几乎所有的SQL语句都能这么执行。呵呵,是不是显得很简单,他就和命令行中输入的SQL语句差不多。在使用上面函数的时候一般会使用
     my_ulonglong mysql_affected_rows(MYSQL *connection),这个函数返回的是mysql_query对进行改动的行的数量。
4,      处理检索到的数据
当我们可以执行SQL语句以后,那么就很容易执行增加删除修改等操作,但是假若检索出来的数据存储在哪里呢?
     MYSQL_RES *mysql_use_result(MYSQL *connection)这个函数得到一个连接对象返回一个结果集合指针,出错时返回NULL。不过他只是返回一个集合对象初始化来接收数据,并没有将任何检索到的数据返回到结果集合中。
     MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)这个函数获得mysql_use_resul得到的结果结构体,并从中检索单个行,并返回分配给行结构体的数据,没有更多数据或出错时,返回NULL。
     Unsigned int mysql_field_count(MYSQL *connection)它得到一个连接对象并返回在集合中字段的数目。
于是有上面的基础我们就可以理解下面这段了:(没有错误处理)
mysql_init(&conn_ptr);
mysql_real_connect(conn_ptr,"localhost","sagely","secret","ra",0,NULL,0);
mysql_query(conn_ptr,"SELECT * form usr_info);
res_ptr=mysql_use_result(&conn_ptr);
sqlrow=mysql_fetch_row(res_ptr);
for(int i=0;i<mysql_field_count(&conn_ptr);i++){printf("%s ",sqlrow);}
     MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)它返回的是列的信息,比如列的名称,列所在表名称等等,有了这个就可以将列标题与数据想对应起来了。

mysql数据库 c api(一)

c连接mysql数据库 根据mysql 5.6 manual c api那一章,简述了一些重点,并没有注重细节,主要是为了一个大概整体的印象.任何一个东西学透,都是要花很大的功夫和精力.这里只简述u...
  • cdhql
  • cdhql
  • 2014年06月23日 20:30
  • 3484

MySQL简介、安装、函数接口和Linux C\C++操作MySQL实例详解

1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源。MySQL有以下特性: (1) 使用C和C++编写,并使用了多种编译器进行测试,保证...
  • caisini_vc
  • caisini_vc
  • 2014年07月29日 16:06
  • 7266

初学Windows下mysql的安装以及其C API使用

主要介绍mysql在windows下的安装以及一些基本的应用.并且介绍了其CAPI的使用.一,      mysql的安装和使用。1,      安装mysql,http://dev.mysql.co...
  • sagely
  • sagely
  • 2005年04月28日 20:55
  • 3306

mysql c库api使用, mysql++ 类库封装/实例

  • 2014年04月15日 17:03
  • 2.17MB
  • 下载

C连接MySQL数据库开发之Windows环境配置及测试

一、开发环境 Win8.1 64位、VS2013、MySQL5.5.37 64位 MySQL安装目录为:C:\Program Files\MySQL\MySQL Server 5.5 二、配置工程...
  • xyang81
  • xyang81
  • 2014年05月24日 15:42
  • 2980

C语言使用windows api实现多线程

#include "stdafx.h" #include "windows.h" DWORD WINAPI ThreadProc1(LPVOID argv){ while(1){ printf(...
  • hepfei90
  • hepfei90
  • 2015年03月05日 09:16
  • 451

MySQL基础及MySQL C API编程

MySQL基础及MySQL C API编程 一、MySQL For Windows安装: 1. 下载:上官网下载即可: http://www.mysql.com/downloads/2. 安装:...
  • woaini454186694
  • woaini454186694
  • 2016年06月16日 00:10
  • 2287

用C api 连接mysql数据库的 开发实例

1. 下载mysql c connector 安装包; 有两种方法:                  1 下载tar文件, 将其中的的 lib, include , bin 都放在 /usr/l...
  • aries5555
  • aries5555
  • 2012年11月16日 17:22
  • 1806

Windows下安装MySQL 6.0图文教程

导读:由于免费,MySQL数据库在项目中用的越来越广泛,而且它的安全性能也特别高,不亚于oracle这样的大型数据库软件。可以简单的说,在一些中小型的项目中,使用MySQL,PostgreSQL是最佳...
  • lingpaoershiyishiji
  • lingpaoershiyishiji
  • 2015年12月08日 10:40
  • 1709

关于mysql的 C API 的常用用法

C API 代码是随MySQL发布的, 它被包含在mysqlclient库且允许C程序存取一个数据库。 首先看一下数据结构 MYSQL  这个结构表示对一个数据库连接的句柄,它被用于几乎所有的MySQ...
  • machuanfei_c
  • machuanfei_c
  • 2015年05月07日 13:11
  • 774
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初学Windows下mysql的安装以及其C API使用
举报原因:
原因补充:

(最多只允许输入30个字)