[toc]

一、准备工作

1.安装MySql

2.使用MySql数据库新建一个表

  1. 使用cmd开启服务,以管理员身份运行cmd

    1
    net start MySQL80
  2. 切换到mysql中bin命令

    1
    cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  3. 命令行连接数据库

    1
    mysql -h localhost -u root -p123456
  4. 使用sql语句新建一个数据库

    1
    CREATE DATABASE test DEFAULT CHARSET utf8;
  5. 选择数据库

    1
    use test
  6. 使用sql语句新建一个表格

    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE book (
    book_id int PRIMARY KEY AUTO_INCREMENT,
    book_name varchar(60) NOT NULL,
    book_author varchar(60) NOT NULL,
    book_shelf int DEFAULT 0,
    book_addtime datetime NOT NULL
    );
  7. 给表格插入一条数据

    1
    2
    INSERT INTO book (book_name, book_author, book_shelf, book_addtime)
    VALUES ('life', 'yu', 1, NOW()), ('C Primer Plus','Stanley B.Lippman', 2, NOW());
  8. 显示表格数据

    1
    select *from book;
  9. 在cmd中退出mysql

    1
    exit

二、编写代码使用

1.写代码前的准备工作

  1. 新建C语言控制台项目
  2. 将MySql中的include文件夹包含在项目中,vs2022中选择属性->VC++目录->包含目录。
  3. 将MySql中的lib文件夹包含在项目中,vs2022中选择属性->VC++目录->库目录
  4. 将MySql中的lib文件夹里的libmysql.dll复制到本项目根目录中
  5. 启动MySql服务
  6. 编写代码

2.编写代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <mysql.h>
#pragma comment(lib,"libmysql.lib")
int main()
{
MYSQL mysql; //数据库句柄
MYSQL_RES* res; //查询结果集
MYSQL_ROW row; //记录结构体
//初始化数据库
mysql_init(&mysql);
//设置字符编码
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
//连接数据库
if (mysql_real_connect(&mysql, "127.0.0.1", "root", "123456", "test",
3306, NULL, 0) == NULL) {
printf("error: %s\n", mysql_error(&mysql));
printf("连接失败!\n");
exit(-1);
}
//查询数据
int ret = mysql_query(&mysql, "select * from book;");
printf("ret: %d\n", ret);

//获取结果集
res = mysql_store_result(&mysql);

//给ROW赋值,判断ROW是否为空,不为空就打印数据。
while (row = mysql_fetch_row(res))
{
printf("%s ", row[0]); //打印ID
printf("%s ", row[1]); //打印书名
printf("%s ", row[2]); //打印作者名
printf("%s ", row[3]); //打印书号
printf("%s ", row[4]); //打印时间
printf("\n");
}
//释放结果集
mysql_free_result(res);

//关闭数据库
mysql_close(&mysql);

system("pause");
}

3.运行程序,运行时如果显示缺失Dll将缺失的Dll文件放到项目根目录中

本次显示缺失libssl-1_1-x64.dlllibcrypto-1_1-x64.dll文件

4.打包应用程序

  1. 将项目中的运行库更改为MT或者MTD

  2. 新建一个文件夹将exe文件与所需的Dll文件放到同一个文件夹中