DSP学习 -- C语言实现MySQL数据库操作
如需轉載請注明出處 https://juyou.blog.csdn.net/article/details/109259673
要實現在VS上使用C語言操作MySQL數據庫。接下來看一下該怎么操作。
一、下載安裝MySQL
1、下載
下載:MySQL官網
我下載是 MySQL Installer 8.0.22 手動安裝版本。
點擊不需要注冊,即可下載。
2、安裝
選擇 Server only
3、include 和 lib
得到 include 和 lib
C:\Program Files\MySQL\MySQL Server 8.0\include
C:\Program Files\MySQL\MySQL Server 8.0\lib
二、navicat premium 安裝
下載安裝:navicat121_premium_cs
三、Visual studio 配置
1、放置 include 和 lib
點擊 在文件資源管理器中打開文件夾, 將上面得到的 include 和 lib 放置到該文件夾下。
lib里其實只需要 libmysql.lib,然后再將 libmysql.dll 放置到生成exe的文件夾下。
2、配置 include 和 lib
添加 屬性->C/C+±>常規->附加包含目錄->include
添加 屬性->鏈接器->常規->附加庫目錄->lib
四、C語言實現MySQL數據庫操作
終于到重點了。
1、在 Navicat Premium 新建一個數據庫
新建連接:
新建數據庫:
2、代碼實現
工程:MySQL 測試
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <mysql.h> #pragma comment(lib, "libmysql.lib")MYSQL mysql;typedef struct {char Name[20];char Sex[20];int Age;int Sno;double Weight; }Student;void mysql_init_and_connect(void) {char value = 1;mysql_init(&mysql);mysql_options(&mysql, MYSQL_OPT_RECONNECT, (char*)&value);if (!mysql_real_connect(&mysql, "localhost", "root", "123456", "abc_123", 0, NULL, 0)){printf("\n mysql connect error! \n");}else{printf("\n mysql connect sucessfully! \n");}mysql_set_character_set(&mysql, "gbk"); }void mysql_create_table(MYSQL* mysql) {char res;char query[512] = { 0 };sprintf(query, "%s", "create table student ( \ 姓名 char(32) primary key, \ 性別 char(32), \ 年齡 int, \ 學號 int, \ 體重 double(32,3))");res = mysql_real_query(mysql, query, (unsigned long)(strlen(query) + 1));if (res){printf("\n Create Table Failed: %s \n", mysql_error(mysql));}else{printf("\n Create Table Sucessfully! \n");} }void mysql_insert(MYSQL* mysql, Student* Stu) {char res;char field[512] = { 0 };char message[512] = { 0 };char query[1024] = { 0 };sprintf(field, "%s", "insert into student values(%s)");sprintf(message, "\'%s\',\'%s\',%d,%d,%lf", Stu->Name,Stu->Sex,Stu->Age,Stu->Sno,Stu->Weight);sprintf(query, field, message);res = mysql_real_query(mysql, query, (unsigned long)(strlen(query)+1));if (res){printf("\n Insert Failed: %s \n", mysql_error(mysql));char str[512] = {0 };char Faillog[512] = { 0 };sprintf(Faillog, "%s", "Table 'abc_123.student' doesn't exist");sprintf(str, "%s", mysql_error(mysql));if (strcmp(str, Faillog) == 0){mysql_create_table(mysql);res = mysql_real_query(mysql, query, (unsigned long)(strlen(query) + 1));if (res){printf("\n Insert Failed: %s \n", mysql_error(mysql));}else{printf("\n Insert Sucessfully! \n");}}}else{printf("\n Insert Sucessfully! \n");} }void mysql_select(MYSQL* mysql) {char res;MYSQL_RES* mysql_res;MYSQL_ROW mysql_row;char query[512] = { 0 };char task[512] = { 0 };sprintf(query, "%s", "select * from student");res = mysql_real_query(mysql, query, (unsigned long)(strlen(query) + 1));if (res){printf("\n Select Failed: %s \n", mysql_error(mysql));}else{printf("\n Select Sucessfully! \n");}mysql_res = mysql_store_result(mysql);if (NULL == mysql_res){printf("\n Mysql Store Result Failed: %s \n", mysql_error(mysql));}else{while (mysql_row = mysql_fetch_row(mysql_res)){//for (res = 1;res < mysql_num_fields(res);res++)//{// printf("%s", mysql_row[res]);//}printf("%s\t", mysql_row[0]);printf("%s\t", mysql_row[1]);printf("%d\t", atoi(mysql_row[2]));printf("%d\t", atoi(mysql_row[3]));printf("%lf\n", atof(mysql_row[4]));}mysql_free_result(mysql_res);} }int main(void) {Student Stu;strcpy(Stu.Name, "小明");strcpy(Stu.Sex, "男");Stu.Age = 18;Stu.Sno = 25;Stu.Weight = 62.5;mysql_init_and_connect();mysql_insert(&mysql, &Stu);mysql_select(&mysql);getchar();return 0; }3、測試結果
五、MySQL學習
現在該講一下什么是MySQL了,上面這些MySQL接口又是怎么用的。
參看:SQL 教程
如需轉載請注明出處 https://juyou.blog.csdn.net/article/details/109259673
總結
以上是生活随笔為你收集整理的DSP学习 -- C语言实现MySQL数据库操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年中国手机游戏行业研究报告
- 下一篇: 产品经理最痛苦的事情