Debian下MySQL的C编程

开发环境:
Debian 3.0  
MySQL5.0 (要开发的话还需要一个函数库libmysqlclient15-dev) 
GCC

MySQL的安装
apt-get install mysql-server
apt-get install libmysqlclient15-dev

登陆mysql,默认用户名是root,密码为空建一个测试用的数据库和表:
~$ mysql  -uroot  -p   
mysql>create mydb;
mysql>use mydb;
mysql>create table user(id int ,name char(12),dept int);
mysql>create table dept(id int ,dname char(12));
mysql>show tables;  //看见我们刚才建立的user 表和dept表
mysql>insert into user select 1,'Tom',1;
mysql>insert into user select 2,'July',2;
mysql>insert into dept select 1,'depart_1';
mysql>insert into dept select 2,'depart_2';
mysql>bye

我们先来一个简单的连接数据库
conn.c

# include <mysql/mysql.h>
#
include <stdio.h>

static  char  * opt_host_name  =   " localhost " ;
static  char  * opt_user_name  =   " go " ;
static  char  * opt_password  =   " go " ;
static  unsigned int opt_port_num  =   0 ;
static  char  * opt_socket_name  =   NULL ;
static  char  * opt_db_name  = " mydb " ;
static  unsigned int opt_flags  = 0 ;
static  char  * stmt_str  =   " select * from user " ;

static   MYSQL   * conn;

int main(int argc
, char *  args[]){

    
/*  initialize connection handler  */
    conn 
=  mysql_init ( NULL );
    
if  (conn  ==   NULL )
    {
        
fprintf  (stderr ,   " mysql_init() failed (probably out of memory) " );
        
exit  ( 1 );
    }
    
/*  connect to server  */
    
if  (mysql_real_connect (conn ,  opt_host_name ,  opt_user_name ,  opt_password ,
            opt_db_name
,  opt_port_num ,  opt_socket_name ,  opt_flags)  ==   NULL )
    {
        
fprintf  (stderr ,   " mysql_real_connect() failed " );
        
mysql_close  (conn);
        
exit  ( 1 );
    }
    
fprintf  (stderr ,   " mysql_real_connect() sucess /n " );
    
/*  disconnect from server  */
    
mysql_close  (conn);
    
exit  ( 0 );

}

编译
~$ gcc -c -I/usr/include/mysql conn.c
~$ gcc -o conn -lmysqlclient conn.o
你也可以直接生成执行文件
~$ gcc -o conn -I/usr/include/mysql -lmysqlclient conn.o
如果你不知道mysql头文件和类库在什么地方 执行一下mysql_config
~$  mysql_config
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
        --cflags          [-I/usr/include/mysql -DBIG_JOINS=1]
        --include        [-I/usr/include/mysql]
        --libs               [-L/usr/lib/mysql -lmysqlclient]
        --libs_r           [-L/usr/lib/mysql -lmysqlclient_r]
        --socket         [/var/run/mysqld/mysqld.sock]
        --port              [3306]
        --version       [5.0.32]
        --libmysqld-libs [-L/usr/lib/mysql -lmysqld -lwrap -lrt]

你还可以写一个makefile 以后编译就makey一下就行了,就不用写那么长的命令

# conn`s makefile
INCLUDE
=/ usr / include / mysql
DLL
= mysqlclient
conn
:conn . o
 gcc -o conn -l
$( DLL )  conn . o
conn
. o :conn . c conn . h I
 gcc -c -I
$( INCLUDE )  conn . c

然后我们运行一下看看结果
~$./conn
mysql_real_connect() sucess

OK 大公告成。
关于C函数的帮助,我们可以利用man命令 man相当于windows中的F1
man XXX  查看的系统函数
man 2 XXX /man 3 XXX  查看C函数





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值