连接MySQL数据库
#include <mysql/mysql.h> int main() { MYSQL conn; mysql_init(&conn); if (!mysql_real_connect(&conn, "localhost", "root", "password", "database", 0, NULL, 0)) { printf("%s\n", mysql_error(&conn)); return 0; } mysql_close(&conn); return 0; }
上述代码连接了本地MySQL数据库,用户名为root,密码为password,数据库名为database。
插入数据
char* name = "张三"; int age = 20; char* sex = "男"; char* sql = (char*) malloc(100); sprintf(sql, "INSERT INTO table1 (name, age, sex) VALUES ('%s', '%d', '%s')", name, age, sex); mysql_query(&conn, sql); free(sql);
上述代码向table1表中插入一条数据,包括name、age、sex三个字段的值。
查询数据
MYSQL_RES *res; MYSQL_ROW row; char* sql = "SELECT * FROM table1"; mysql_query(&conn, sql); res = mysql_store_result(&conn); while ((row = mysql_fetch_row(res))) { printf("%s\t%s\t%s\n", row[0], row[1], row[2]); } mysql_free_result(res);
上述代码查询table1表中的所有数据,并将查询结果打印出来。
更新数据
char* name = "李四"; int age = 22; char* sql = (char*) malloc(100); sprintf(sql, "UPDATE table1 SET name='%s', age='%d' WHERE id='%d'", name, age, 1); mysql_query(&conn, sql); free(sql);
上述代码将table1表中id为1的记录的name和age字段值分别更新为“李四”和22。
删除数据
char* sql = "DELETE FROM table1 WHERE id=1"; mysql_query(&conn, sql);
上述代码将table1表中id为1的记录删除。
通过以上C语言的示例,大家了解了如何使用C语言对MySQL数据库进行增删查改操作。