MySQL数据库相关开发入门

使用apt-get来进行MYSQL数据库的安装,安装好以后就可以使用数据库了。

命令行键入mysql即可进入(因为数据库初始化的没有密码的);当然为了安全,你最好还是创建一个用户和密码。

当你创建过用户喝密码后再想登陆数据库就需要输入密码了,命令行格式如下

mysql -uUSERNAME -p123123

就会进入相应用户名下的数据库中了。

show databases;

可以查看用户下面所有的数据库名字.

use db_name;

选择使用哪个数据库

show tables;

查看数据库下面所有的表

当你想用代码来实现数据库的连接查询等操作时,就得参考下面的demo了

#include <stdio.h>
#include </usr/include/mysql/mysql.h>
#include <string.h>
#define  IP "127.0.0.1"
#define  PORT ""
#define  USER "root"
#define  PASSWD "123456"
int main(){
    MYSQL *coon;
    MYSQL_RES *mysql_res;
    MYSQL_ROW *mysql_row;
    coon = mysql_init(NULL);
    if (!mysql_real_connect(coon, IP, "root", "123456", "test_db", 0, NULL, 0)){
        printf("connect fail.....");
    }
    else{
        printf("connect successful。。。");
        mysql_set_character_set(coon, "utf-8");
        mysql_autocommit(coon,0);
        char selectQuery[200] ="select str from test_table where id =1";
        int iResault = mysql_real_query(coon, selectQuery, strlen(selectQuery));
        int t=0;
        if (iResault)
        {
            printf("select fail。。。。");
            mysql_close(coon);
            return 0;
        }
        else{
            mysql_res = mysql_store_result(coon);
            if (!mysql_res)
            {
                printf("mysql_store_result(coon) fail....");
                mysql_close(coon);
                return 0;
            }
            else{
                while (mysql_row=mysql_fetch_row(mysql_res))
                {
                    //for (;t<mysql_num_fields(mysql_res);t++)
                    //{
                        printf("%s
", mysql_row[0]);
                    //}
                }
            }
            
        }
        
    }
    mysql_free_result(mysql_res);
    mysql_close(coon);
    return 0;
}

如果你不知道musql.h在什么地方,可以使用linux命令查找。例子中从根目录中开始找。

find / -name mysql.h

当你编写好代码后,在gcc编译的时候如要加上额外的客户端动态链接库,否则会出现mysqlAPI函数找不到或未定义API函数接口。

gcc -o target target.c -L/PATH -lmysqlclient

PATH是mysqlclient动态链接库所在的路径。不知道在何处就使用命令查找

find / -name libmysqlclient.so

编译就会成功。

注意一点:动态链接库中lib 和.so是系统自动添加的,所以哭的名字要去掉这些字符。客户端链接库打印出来看到的是libmysqlclient.so

2017-07-25 14:03:02

为了编译方便最好写一个简单的Makefile,我已写好最简单不过了,代码如下:

myServer:myServer.o
        gcc -o myServer myServer.o -L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
myServer.o:myServer.c
        gcc -c myServer.c
.PHONY:clean
clean:
        -rm myServer myServer.o

也可以写成如下格式:

Object=myServer.o
cc=gcc
myServer:$(Object)
cc -o myServer $(Object) -L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
myServer.o:myServer.c
cc -c myServer.c
.PHONY:clean
clean:
-rm myServer $(Object)

具体请细读和我一起写Makrfile

编写好代码后要进行调试,可以使用GDB调试,这就需要在系统中安装GCC编译器,同理使用apt-get install gcc命令安装

安装好后再使用gcc 编译的时候 记得加上-g参数。

gcc -g -o target target.c -LPATH -lmysqlclient

然后使用

gdb target

进入调试阶段

通过查看linux手册可以发现GDB的参数设置如下图所示

作者:first_semon
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
原文地址:https://www.cnblogs.com/first-semon/p/7229367.html