5、ubuntu/linux下使用mysql数据库编程

一、安装环境和mysql版本:
1、ubuntu14.04 64位 mysql5.7

二、使用命令mysql_config查看数据库配置是否齐全:
这里写图片描述
能够看到上面的头文件和库文件的位置说明配置应该是没有问题的。

三、如果没有配置齐全可以参考我的博客https://blog.csdn.net/toby54king/article/details/80768289安装方法中的第4条指令,当然我这篇介绍的是使用安装包安装数据库的方法。在这篇博客中我没有写安装mysql库相关的信息,但指令都是一样的,补充如下:
sudo dpkg -i libmysqlclient20_5.7.22-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.22-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.22-1ubuntu14.04_amd64.deb

你也可以使用在线安装的
sudo apt-get install mysql-client
sudo apt-get install libmysql-dev
sudo apt-get install libmysqlclient20

四、开始编写代码测试,我在这演示使用QtCreator的方法:

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

using namespace std;
int main(int argc, char *argv[])
{
    MYSQL pSql;
    MYSQL *pMysql = NULL;
    mysql_init(&pSql);
    pMysql = mysql_real_connect(&pSql,"192.168.1.44","root","root","",3306,NULL,0);
    if(pMysql == NULL)
    {
        cout << "connect mysql is error!" << endl;
    }
    string createDataStr = "CREATE DATABASE testMysql;";
    int ret = mysql_query(&pSql,createDataStr.c_str());
    if(ret == 0)
    {
        printf("mysql_query():%s\n",mysql_error(&pSql));
        return -1;
    }
    else if(ret == 1)
    {
        MYSQL mySql;
        MYSQL *pTempSql = NULL;
        mysql_init(&mySql);
        pTempSql = mysql_real_connect(&mySql,"192.168.1.44","root","root","testMysql",3306,NULL,0);
        if(pMysql != NULL)
        {
            string createTableStr = "CREATE TABLE PERSONINFO (ID INTEGER(10) NOT NULL, NAME CHAR(10) NOT NULL,SEX CHAR(5) NOT NULL,PHONE INTEGER(12) NOT NULL,INSERTTIME DATETIME)";
            ret = mysql_query(&mySql,createTableStr.c_str());
            if(ret == 0)
            {
                printf("mysql_query():%s\n",mysql_error(&mySql));
                return -2;
            }
            else if(ret == 1)
            {
                string insertDataStr = "INSERT INTO PERSONINFO(ID,NAME,SEX,PHONE,INSERTTIME) VALUES (1,'ISMILELI','man',110,now());";
                ret = mysql_query(&mySql,insertDataStr.c_str());
                if(ret >= 0)
                {
                    cout << "insert ISMILELI info is success!" << endl;
                }
                else
                {
                    cout << "insert ISMILELI info is failure!" << endl;
                }
            }
        }

        mysql_close(&mySql);
    }

    mysql_close(&pSql);

    cout << "Hello World!" << endl;
    return 0;
}

1》如果你不知道使用QtCreator怎么加载动态库的话可以参考我的这篇博客:
https://blog.csdn.net/toby54king/article/details/78981487
注意:如果出现下面的错误:
这里写图片描述
你可能需要在链接库后面加上: -lpthread -ldl -lcrypt
unix:!macx: LIBS += -L$$PWD/../../../../usr/lib64/mysql/ -lmysqlclient -lpthread -ldl -lcrypt

2》如果你使用的是gcc或者g++编译可能需要下面的方式:
g++ testMysql.cpp -o testMysql -I/usr/include/mysql -lmysqlclient
当然如果你也可能需要链接 -lpthread -ldl -lcrypt

五、使用Navicat for mysql查看运行结果:
这里写图片描述

说明:更多MYSQL问题请参考博客中的其他文章。

猜你喜欢

转载自blog.csdn.net/toby54king/article/details/80792920