MySQL是一款常用的關系型數據庫管理系統,廣泛應用于web應用程序的開發中。在C語言中,可以通過MySQL API來使用MySQL數據庫。下面我們將提供一個MySQL項目實例教程,幫助初學者了解C語言下使用MySQL的方法。
在開始之前,需要安裝MySQL數據庫和MySQL Connector/C API。安裝完成后,在C代碼中引入頭文件和鏈接庫。
#include#include #include #pragma comment(lib,"libmysql.lib")
連接數據庫是MySQL項目中最基本的操作,下面給出連接數據庫的代碼示例:
MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "dbname"; int port = 3306; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server,user, password, database, port, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); }
執行查詢操作是使用MySQL API的常用操作之一,下面給出一個簡單的查詢實例。假設有一個名為“students”的表,包含了姓名(name)、學號(id)、成績(score)三個字段。查找成績大于90分的學生信息:
if (mysql_query(conn, "SELECT * FROM students WHERE score>90")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); printf("查詢結果:\n"); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_free_result(res);
對于更新和插入等操作,也可以通過MySQL API來實現。下面給出兩個示例:
//更新學生表中學號為2019210001的學生成績 if (mysql_query(conn, "UPDATE students SET score=95 WHERE id=2019210001")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } printf("更新成功!\n"); //向學生表中插入一條新的學生數據 if (mysql_query(conn, "INSERT INTO students(name,id,score) VALUES('張三',2019210002,89)")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } printf("插入成功!\n");
C語言下使用MySQL,除了上述基本操作外,還包括了根據SQL語句創建數據庫和表、刪除數據庫和表、刪除數據等操作。在本文中無法一一列舉,讀者可以根據需要查閱MySQL API的文檔或者其他相關資料。