首页 > 数据库 >mysql增删改查

mysql增删改查

时间:2022-08-25 21:35:40浏览次数:80  
标签:mysql 改查 exit error 增删 query conn row

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
#include <unistd.h>
#include <string.h>

int main()
{
  MYSQL *conn;
  MYSQL_RES *res;
  MYSQL_ROW row;
  char server[] = "localhost";
  char user[] = "root";
  char passwd[] = "xxxxxx";
  char database[] = "test";
  char *query = NULL;
  int number=0;

  conn = mysql_init(NULL);  //初始化MySQL
  if(!mysql_real_connect(conn,server,user,passwd,database,0,NULL,0))  //连接数据库database
  {
    fprintf(stderr,"mysql connect error:%s\n",mysql_error(conn));
    exit(1);
  }

  query = "create table student (id int(10),name varchar(25),math int(2),chinese int(2))"; 
  if(mysql_real_query(conn,query,strlen(query)))  //创建数据表student
  {
    fprintf(stderr,"mysql query error:%s\n",mysql_error(conn));
    exit(1);
  }

  query = "insert into student values(20220815,\"Ailon\",10,20)";
  if(mysql_real_query(conn,query,strlen(query)))   //添加数据
  {
    fprintf(stderr,"mysql query error:%s\n",mysql_error(conn));
    exit(1);
  }

  query = "update student set id=20220001 where id=20220815";
  if(mysql_real_query(conn,query,strlen(query)))  //更改数据
  {
    fprintf(stderr,"mysql query error:%s\n",mysql_error(conn));
    exit(1);
  }

  query = "select * from student where math>0";
  if(mysql_real_query(conn,query,strlen(query))) //查询数据
  {
    fprintf(stderr,"mysql query error:%s\n",mysql_error(conn));
    exit(1);
  }

  res = mysql_store_result(conn);  //存储查询结果
  number = mysql_num_rows(res);  //获取结果行数
  printf("%d\n",number);

  while((row = mysql_fetch_row(res)) !=NULL)  //遍历每行
  {
    printf("id:%d name:%s math:%d chinese:%d\n",atoi(row[0]),row[1],atoi(row[2]),atoi(row[3]));  //输出每行数据
  }

  query = "delete from student where id=20220001";
  if(mysql_real_query(conn,query,strlen(query)))  //删除特定行数据
  {
    fprintf(stderr,"mysql query error:%s\n",mysql_error(conn));
    exit(1);
  }

  mysql_free_result(res);  //释放资源
  mysql_close(conn);  //关闭MySQL

  exit(0);
}

标签:mysql,改查,exit,error,增删,query,conn,row
From: https://www.cnblogs.com/linux-learn/p/16625809.html

相关文章

  • mysql的增删改查
    针对库的增删改查(文件夹)#增createdatabasedb1;创建一个库库名为db1createdatabasedb2charset='gbk';创建一个库库名为db2charset设置编码为gbk#查sho......
  • Mysql中空间字段类型Wkt和Wkb的坑
    工作中遇到空间数据,提供给我们的是二进制的Wkt的格式,存储在Mysql数据库中,采集的时候告知我们是Wkb的数据格式,由于第一次接触这样的数据格式,去查了官方文档https://www.mys......
  • MySQL搭建主从集群详细步骤~
    一、Docker安装MySQL搭建主从dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]dockerrun-p3306:3306很多-d--namehahamysql:5.7Docker启动容器的数据......
  • Java 连接 MySQL
    让Java和MySQL连接起来-囧雪诺-博客园 https://www.cnblogs.com/jonsnow/p/6246131.htmlJava连接MySQL需要驱动包,可以下载菜鸟教程提供的 jar包:http://stati......
  • Mysql 存储引擎(Innodb & MyIsam)
    SHOWENGINES;#查看mysql上面全部的存储引擎  下面主要讲解Innodb&MyIsam1.数据结构a.Innodb数据,索引,表结构都存在一个.ibd文件里b.MyIsam在磁盘上存储分......
  • 数据篇(MongoDB+ElasticSearch+Minio+TiDB+MySQL+Redis)
    一. 简介1. MongoDB  2. ElasticSearch  3. Minio   4. TiDB  5. MySQL   6. Redis         二. 目录  ......
  • mysql 不可重复读与幻读的区别
    不可重复读的重点是修改:同样的条件,你读取过的数据,再次读取出来发现值不一样了幻读的重点在于新增或者删除同样的条件,第1次和第2次读出来的记录数不一样当然,从......
  • MySQL的InnoDB引擎下执行更新Update语句时 执行时间太久 问题集锦
    场景1:更新cjq表的一个字段,发现执行时间半个小时以上还没执行结束UPDATEt_hplc_cjqSETcjq_type=2WHEREcjq_typeISNULLANDidIN(SELECTcjq_idFROMt_hp......
  • Linux MYSQL安装
    1、安装mysql服务器及客户端sudoapt-getinstallmysql-servermysql-client 2、安装mysqlC语言接口sudoapt-getinstalllibmysql++-dev 3、编译文件(mysql_co......
  • Mysql---函数
    《字符串相关函数》  《数学相关函数》  《时间相关函数》        ......