C 语言操作 MySQL 的利器,MySQL C API其实还蛮实用的。直接用 C 写数据库逻辑,省掉不少中间环节,响应也快。尤其适合写性能敏感的小工具或嵌入式系统。
MYSQL 结构体是核心,就像一个数据库连接的大管家。host
、user
、passwd
这些字段你应该挺熟,都是连接数据库需要的信息。用mysql_init
先初始化,用mysql_real_connect
建立连接,流程还挺顺的。
查询的话就靠mysql_query
,配合mysql_store_result
或者mysql_use_result
来结果。结果集MYSQL_RES
像个表,mysql_fetch_row
一行行取,lengths
用来看数据长度,VARCHAR
这些字段有用。
数据拿完记得释放内存,mysql_free_result
和mysql_close
两个函数要养成习惯用。否则一跑大查询就爆内存。还有,查错就靠mysql_errno
和mysql_error
,错误信息挺详细。
编译的时候别忘了链接mysqlclient
库,加上-lmysqlclient
。RedHat 上可以先用yum install mysql-devel
装依赖,省得编译报错一大堆。
密码建议别写死在代码里,可以用加密方式传给mysql_real_connect
的passwd
,或者搞个 DSN 方案也行。还有reconnect
设置成 1,断网自动重连,稳定不少。
如果你写 C 比较熟,又想直接对接 MySQL,这套 API 还蛮值得一试的。对数据库掌握更深的同时,也能写出更轻量的服务端逻辑。