
(Mysql一)Linux C语言连接数据库Mysql数据库
发布日期:2021-05-07 04:38:54
浏览次数:18
分类:精选文章
本文共 1320 字,大约阅读时间需要 4 分钟。
1.首先:linux下安装mysql: (Linux版本Ubuntu)
1.sudo apt-get install mysql-server
2.sudo apt-get install mysql-client
3.sudo apt-get install libmysqlclient-dev
2.编译:
gcc -o test_sql test_sql.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
(安装完 libmysqlclient-dev后,会自动有mysql.h在mysql中)
-I (大写i)表示要找的头文件在 /usr/include/mysql 目录下
-L表示要找的库文件在/usr/lib/mysql 的目录下
-l(小写L)表示所要找的库文件名是 mysqlclient,其实是libmysqslclient,只是忽略了前缀 lib
步骤:1.创建MYSQL句柄 2.初始化MYSQL句柄 3.用MYSQL句柄与MYSQL数据库发生连接 4.最后关闭连接
先给出代码:
#include#include //所需头文件int main(){ MYSQL *conn_prt; //创造一个MYSQL句柄 conn_prt = mysql_init(NULL); //初始化MYSQL句柄 if(!conn_prt) //若初始化句柄失败 { printf("connect mysql failed"); return -1; } /*尝试与mysql数据库连接*/ if(!mysql_real_connect(conn_prt,"localhost","root" ,"123456","test",0,NULL,0)) { printf("failed to coonect mysql:%s\n",mysql_error(conn_prt)); } else { printf("connect success...........\n"); } /*关闭与Mysql数据库的连接,并释放相应内存*/ mysql_close(conn_prt); return 0;}
主要讲讲 函数 mysql_real_connect()的8个参数:
第一个:mysql_init()的返回值,就是Mysql句柄
第二个:应该为IP地址,但如果为字符串localhost或者NULL,则表示,是本地连接,就是在宿主机上连接自家的数据库
第三个:参数包含用户的MySQL登录ID。如果这个参数是NULL或空字符串"",用户将被视为当前用户。在UNIX环境下,它是当前用户名
第四个:用户名密码
第五个:要连接的数据库
第六个:port端口,要是连外网的数据库,则填的是他的端口号,若是本地连接,填0就好
第七个:套接字,如果不为NULL,则表示要使用相应的套接字
第八个:flag选项,一般为0
以上就完成了Linux 下C语言连接Mysql数据库。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月31日 11时12分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
1062 Talent and Virtue
2021-05-09
1045 Favorite Color Stripe
2021-05-09
B. Spreadsheets(进制转换,数学)
2021-05-09
等和的分隔子集(DP)
2021-05-09
基础练习 十六进制转八进制(模拟)
2021-05-09
L - Large Division (大数, 同余)
2021-05-09
39. Combination Sum
2021-05-09
41. First Missing Positive
2021-05-09
80. Remove Duplicates from Sorted Array II
2021-05-09
83. Remove Duplicates from Sorted List
2021-05-09
410. Split Array Largest Sum
2021-05-09
开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?
2021-05-09
Vue3发布半年我不学,摸鱼爽歪歪,哎~就是玩儿
2021-05-09
《实战java高并发程序设计》源码整理及读书笔记
2021-05-09
Java开源博客My-Blog(SpringBoot+Docker)系列文章
2021-05-09
程序员视角:鹿晗公布恋情是如何把微博搞炸的?
2021-05-09
【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
2021-05-09
Linux应用-线程操作
2021-05-09