C语言-MySQL单表查询(vs2013环境)
一、首先配置项目属性:
1.打开mysql的安装路径,找到include文件夹和lib文件夹
如图:

2.在vs2013中, 打开项目–> 属性 –>VC++目录
如图:

把将nclude和lib分别添加到包含目录和库目录即可。
3.打开项目 –> 属性 –> 链接器 –> 输入 –> 附加依赖项
如图:

4.最后再把libmysql.dll动态库复制到项目文件下面就可以了。
如图:
MySQL安装目录下lib\

拷贝到vs2013项目目录下

5. 如果你安装的MySQL是64位的, 就要把vs里解决方案平台也设置为64位。
如图:

二、项目属性配置好了就该写代码了。。
这里我写的是一个简单的单表查询程序, 前提是你确保你的mysql数据库中存在这张表。
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <WinSock2.h>
#include <windows.h>
#include <time.h> #include "mysql.h" /*mysql数据库连接头文件*/
#pragma comment(lib, "libmysql.lib"); /*定义几个数据库连接相关宏*/
#define HOST "localhost"
#define USERNAME "****" // MySQL用户名
#define PASSWORD "*******" // 登陆密码
#define DATABASE "stu" // 数据库名 void query_sql(char *sql); int main() { char *query;
query = "SELECT * FROM t_student";// 确保sql语句能执行
query_sql(query);
printf("\n");
system("pause");
return 0;
} void query_sql(char *sql) {
MYSQL *conn; // 数据库连接句柄
int res; // 执行sql返回结标志
MYSQL_RES *res_ptr; // 指向查询结果的指针
MYSQL_FIELD *field; // 字段结构指针
MYSQL_ROW result_row; // 按行返回的查询信息
int row, column;
int i, j; // 初始化mysql连接 my_connection
conn = mysql_init(NULL);
// 建立mysql连接
if (NULL != mysql_real_connect(conn, HOST, USERNAME, PASSWORD, DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) { printf("数据库查询query_sql连接成功!\n"); // 设置查询编码为gbk, 支持中文
mysql_query(conn, "set names gbk");
res = mysql_query(conn, sql); if (res) { // sql执行失败
printf("Error: mysql_query!\n");
mysql_close(conn);
}
else { // 执行成功 // 将查询结果给res_ptr
res_ptr = mysql_store_result(conn); // 如果结果不为空就将结果打印到控制台
if (res_ptr) {
// 获取查询结果的列数和行数
column = mysql_num_fields(res_ptr);
row = mysql_num_rows(res_ptr);
printf("查询到%d行\n", row); // 输出结果字段的名字
for (i = 0; field = mysql_fetch_field(res_ptr); i++) {
printf("%10s ", field->name);
}
printf("\n"); // 按行输出结果
for (i = 1; i < row + 1; i++) {
result_row = mysql_fetch_row(res_ptr);
for (j = 0; j < column; j++) {
printf("%10s ", result_row[j]);
}
printf("\n");
}
} // 关闭数据库
mysql_close(conn);
} } // 数据库连失败
else {
printf("数据库连接失败!");
} }
这是我的运行结果:

C语言-MySQL单表查询(vs2013环境)的更多相关文章
- Mysql 单表查询where初识
Mysql 单表查询where初识 准备数据 -- 创建测试库 -- drop database if exists student_db; create database student_db ch ...
- Mysql 单表查询 子查询 关联查询
数据准备: ## 学院表create table department( d_id int primary key auto_increment, d_name varchar(20) not nul ...
- python 3 mysql 单表查询
python 3 mysql 单表查询 1.准备表 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职 ...
- Mysql 单表查询-排序-分页-group by初识
Mysql 单表查询-排序-分页-group by初识 对于select 来说, 分组聚合(((group by; aggregation), 排序 (order by** ), 分页查询 (limi ...
- 2008技术内幕:T-SQL语言基础 单表查询摘记
这里的摘抄来自<Microsoft SQL Server 2008技术内幕:T-SQL语言基础>,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这 ...
- MySQL单表查询
MySQL之单表查询 创建表 # 创建表 mysql> create table company.employee5( id int primary key AUTO_INCREMENT not ...
- python mysql 单表查询 多表查询
一.外键 变种: 三种关系: 多对一 站在左表的角度: (1)一个员工 能不能在 多个部门? 不成立 (2)多个员工 能不能在 一个部门? 成立 只要有一个条件成立:多 对 一或者是1对多 如果两个条 ...
- mysql 单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 ...
- SQL学习笔记四(补充-1)之MySQL单表查询
阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录 ...
随机推荐
- 累积分布函数(cumulative distribution function)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...
- Mysql模糊查询like提速优化
LOCATE('substr',str,pos)方法 SELECT LOCATE('xbar',`foobar`); ###返回0 SELECT LOCATE('bar',`foobarbar`); ...
- Xamarin.FormsShell基础教程(8)Shell的模版构成
Xamarin.FormsShell基础教程(8)Shell的模版构成 Shell模版创建的页面包含内容页.标签栏.侧滑菜单.搜索框四部分.下面依次介绍这几个部分. 内容页:内容页就是为用户呈现内容的 ...
- Django入门3 简单留言板项目案例及mysql驱动的安装配置
新建jangostart项目 使用manager.py新建app即单独的应用 创建一个message应用 manage.py@djangostart > startapp message 如果a ...
- bootcss 之 .table-hover 类 鼠标悬停
通过添加 .table-hover 类可以让 <tbody> 中的每一行对鼠标悬停状态作出响应. <table class="table table-hover" ...
- jzy3D从入门到弃坑_4尝试使用jzy3D1.0画图失败
jzy3D从入门到弃坑_4 尝试使用jzy3D1.0画图失败 觉得有用的话,欢迎一起讨论相互学习~Follow Me 记录一下使用jzy3D1.0失败 究其原因在于 本人才疏学浅,对于JAVA ope ...
- 爬虫相关-scrapy框架介绍
性能相关-进程.线程.协程 在编写爬虫时,性能的消耗主要在IO请求中,当单进程单线程模式下请求URL时必然会引起等待,从而使得请求整体变慢. 串行执行 import requests def fetc ...
- 开发日记:Windows进程守护工具
近期,中心应用服务无故关闭.在检查系统和应用程序日志无果后采取了进程守护的方法.测试期内,脚本未出现系统资源占用过多的情况. 使用说明:1.进程守护.vbs 使用时需修改运行周期(10行).守护进程 ...
- WeQuant教程—1.2 从简单的量化系统开始
你大概知道量化的思想最早在古巴比伦人计算行星轨迹的时候就已经诞生(算术运算),后来借助古希腊的形式化逻辑的发展,人们日益能从量化的思想中提炼和描述自然规律并运用到生产之中.不过,基于量化的思想打造一个 ...
- 使用vue搭建应用四引入axios
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 特性 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 P ...