ubuntu16.04连接mysql服务器

15 篇文章 0 订阅

目录

前言

一、数据库相关操作

二、连接数据库

1.连接数据库代码(以插入操作为例)

2.mysql增删改查实例(全)


前言

本文系统是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 }

                                                                                                           

 上述代码结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值