目录
前言
本文系统是ubuntu16.4,先安装好数据库(sudo apt-get install libmysqlclient-dev),然后连接数据库服务器。
一、数据库相关操作
创建数据库:create database db_96;
查看当前选择的数据库:select database();
查看所有的数据库:show databases;
选择要操作的库:use db_96;
删除库:drop database db_96;
二、连接数据库
1.连接数据库代码(以插入操作为例)
代码如下:
1 #include<stdio.h>
2 #include<unistd.h>
3 #include<string.h>
4 #include<mysql/mysql.h>
5
6 int main()
7 {
8 MYSQL *mysql=mysql_init(NULL); //初始化句柄
9 if(mysql==NULL)
10 {
11 printf("mysql init error\n");
12 return -1;
13 }
14
15 if(mysql_real_connect(mysql,"127.0.0.1","root","1111","db_96",0,NULL,0)==NULL)
16 {
17 printf("connect mysql serer failed!:%s\n",mysql_error(mysql));
18 mysql_close(mysql);
19 return -1;
20 }
21
22 int ret;
23 ret=mysql_set_character_set(mysql,"utf8"); //设置字符集
24
25 if(ret!=0)
26
27 {
28 printf("set character failed!:%s\n",mysql_error(mysql));
29 return -1;
30 }
31
32 const char* insert="insert student values(4,'赵青',23,now());";
33 ret = mysql_query(mysql,insert);
34 if(ret!=0)
35 {
36
37 printf("query sql failed!:%s\n",mysql_error(mysql));
38 mysql_close(mysql);
39 return -1;
40 }
41
42 mysql_close(mysql);
43 return 0;
44 }
结果如下:
先登录mysql:
代码结果如下:
2.mysql增删改查实例(全)
如果是查询语句则需获取查询结果
1 #include<stdio.h>
2 #include<unistd.h>
3 #include<string.h>
4 #include<mysql/mysql.h>
5
6 int main()
7 {
8 MYSQL *mysql=mysql_init(NULL);
9 if(mysql==NULL)
10 {
11 printf("mysql init error\n");
12 return -1;
13 }
14
15 if(mysql_real_connect(mysql,"127.0.0.1","root","1111","db_96",0,NULL,0)==NULL)
16 {
17 printf("connect mysql serer failed!:%s\n",mysql_error(mysql));
18 mysql_close(mysql);
19 return -1;
20 }
21
22 int ret;
23 ret=mysql_set_character_set(mysql,"utf8");
24
25 if(ret!=0)
26
27 {
28 printf("set character failed!:%s\n",mysql_error(mysql));
29 return -1;
30 }
31
32 // const char* insert="insert student values(4,'王五',23,now());";
33 // const char* update="update student set name='赵青' where birthday='2022-08-10
//09:12:57'";
// const char* delect_sql="delect from student where name='赵青'";
35 const char* select_sql="select* from student";
36
37
38 // ret = mysql_query(mysql,insert);
39 // ret=mysql_query(mysql,update);
40 // ret = mysql_query(mysql,delect_sql);
41 ret=mysql_query(mysql,select_sql);
42
43
44 if(ret!=0)
45 {
46
47 printf("query sql failed!:%s\n",mysql_error(mysql));
48 mysql_close(mysql);
49 return -1;
50 }
51
52 MYSQL_RES* res=mysql_store_result(mysql);
53 if(res==NULL)
54 {
55 printf("store result failed!:%s\n",mysql_error(mysql));
56 mysql_close(mysql);
57 return -1;
58 }
59
60
61
62 int num_row=mysql_num_rows(res);
63 int num_col=mysql_num_fields(res);
64 for(int i=0;i<num_row;i++)
65 {
66 MYSQL_ROW row=mysql_fetch_row(res);
67 for(int j=0;j<num_col;j++)
68 {
69 printf("%-15s",row[j]);
70 }
71 printf("\n");
72 }
73
74
75 //释放结果集
76 mysql_free_result(res);
77
78
79 mysql_close(mysql);
80 return 0;
81 }
上述代码结果: