【MySQL】12. C语言与数据库的连接

1. 下载MySQL的连接库

sudo apt install -y libmysqlclient-dev

2. MySQL连接库的常用接口介绍

通过下面的样例了解MYSQL的常用接口:

#include 
#include 
using namespace std;

const char *host = "localhost";
const char *user = "caryon";
const char *password = "20233962Myl!";
const char *db = "test";
unsigned int port = 3306;

int main()
{
    cout << "mysql version: " << mysql_get_client_info() << endl;
    // 初始化
    MYSQL *mysql = mysql_init(nullptr);
    if (!mysql)
    {
        cerr << "mysql_init failed" << endl;
        exit(-1);
    }
    // 建立连接
    if (!mysql_real_connect(mysql, host, user, password, db, port, nullptr, 0))
    {
        cerr << "mysql_real_connect failed : " << mysql_errno(mysql) << endl;
        mysql_close(mysql);
        exit(-1);
    }
    // 设置编码
    mysql_set_character_set(mysql,"utf8");
    // 执行CURD操作
    // 1. 增
    mysql_query(mysql,"insert into teacher_management(name,idnum) values('李四','123456')");
    mysql_query(mysql,"insert into teacher_management(name,idnum) values('王五','123457')");
    mysql_query(mysql,"insert into teacher_management(name,idnum) values('刘六','123458')");
    // 2. 删
    mysql_query(mysql,"delete from teacher_management where name = '李四'");
    // 3. 改
    mysql_query(mysql,"update teacher_management set name = 'wangwu' where idnum = '123457'");
    // 4. 查
    mysql_query(mysql,"select name,idnum from teacher_management");
    // 将查的的数据保存以来方便显示
    MYSQL_RES* res = mysql_store_result(mysql);
    // 获取行和列
    int col = mysql_num_rows(res);
    int field = mysql_num_fields(res);
    
    for(int i = 0;i < col;i++)
    {
        MYSQL_ROW line = mysql_fetch_row(res);
        for(int j = 0;j < field;j++)
        {
            cout << line[j] << " ";
        }
        cout << endl;
    }
    // 关闭连接
    mysql_close(mysql);
    return 0;
}

你可能感兴趣的:(MySQL,数据库,mysql,IO,笔记,c语言)