MYSQL C API 入门教程
(一)关于本教程
这是一本关于MYQL的C语言编程的入门教程,它讲述了MYSQL的C API编程的基本知识。
(二)关于MYSQL数据库
MYSQL是一个领先的开源数据管理系统,是一个多用户、多线程的数据库系统。MYSQL在web应用中特别流行,是非常流行的LAMP(L-linux, A-apache, M-mysql, P-php)平台中的一部分。MYSQL最早是由瑞典的MYSQL AB公司所开发, 这家公司以及Trolltech 是非常有名的开放源代码公司。MYSQL兼容大多数操作系统平台,包括BSD Unix、Linux、Windows以及MAC。维基百科和YouTube使用MYSQL,这些网站每天处理上百万的查询请求。MYSQL包括两个版本:MYSQL服务端版本和MYSQL嵌入式版本。
(三)第一个示例
第一个示例简单的测试MYSQL的API函数,代码如下:
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
return 0;
}
API mysql_get_client_info获取mysql客户端的版本号,编译:
gcc version.c -o version `mysql_config --cflags --libs
执行程序verion,得出如下输出结果:
$ ./version
MySQL client version: 5.0.38
代码详解:
#include <my_global.h>
#include <mysql.h>
首先,我们包含必要的头文件myql.h和my_global.h,mysql.h是MYSQL函数调用中要包含的最重要的头文件。my_global.h包含了一些全局函数的声明以及标准输入输出的头文件。
printf("MySQL client version: %s\n", mysql_get_client_info());
这些代码打印了Mysql客户端的版本号,通过使用mysql_get_client_info API调用。
(四)创建数据库
以下代码演示如何创建数据库:
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
MYSQL *conn;
conn = mysql_init(NULL);
if (conn == NULL) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
if (mysql_real_connect(conn, "localhost", "zetcode",
"passwd", NULL, 0, NULL, 0) == NULL) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "create database testdb")) {
printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
exit(1);
}
mysql_close(conn);
}
以上示例代码先连接到mysql数据库,然后创建一个testdb数据库。现在登录到数据库中验证一下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| testdb |
+-