MySQL数据表中插入数据并查询输出的实现
创始人
2024-07-18 03:50:41
0

MySQL数据表中插入数据是我们很常见的操作,下面就为您详细介绍MySQL数据表中插入数据并查询输出的实现方法步骤,如果您对MySQL数据表方面感兴趣的话,不妨一看。

  1. CREATE TABLE demotable (   
  2. id int(11) NOT NULL auto_increment,   
  3. demodata varchar(255) default NULL,   
  4. PRIMARY KEY (id)   
  5. ) TYPE=MyISAM;  
  6.  
  7. ----------往数据表中插入数据并查询输出----------  
  8. #include  /* Headers for MySQL usage */   
  9. #include    
  10. #include    
  11. #include    
  12.  
  13. int main(int argc, char **argv){  
  14. MYSQL demo_db;  
  15. mysql_init(&demo_db);  
  16.  
  17. int insert_id;   
  18. char *encdata, *query;   
  19. int datasize;   
  20. MYSQL_RES *res; /* To be used to fetch information into */   
  21. MYSQL_ROW row;   
  22.  
  23. if(argc<2){   
  24.     printf("Please supply a string for insertion into the database\n");   
  25.     exit(0);   
  26. }   
  27.  
  28. if(!mysql_real_connect(&demo_db, "localhost", "root", "mysql", "demodb", 0, NULL, 0)){   
  29.     printf(mysql_error(&demo_db));   
  30.     exit(1);   
  31. }   
  32.  
  33. // if(mysql_select_db(&demo_db, "demodb")){ /* Select the database we want to use */   
  34. //    printf(mysql_error(&demo_db));   
  35. //    exit(1);   
  36. // }   
  37.  
  38. encdata=malloc(2*strlen(argv[1])+1);   
  39.  
  40. datasize=mysql_real_escape_string(&demo_db, encdata, argv[1], strlen(argv[1]));   
  41. //printf("%s\n",encdata);  
  42.  
  43. query=malloc(datasize+255);   
  44. sprintf(query, "INSERT INTO demotable(demodata) VALUES('%s')", encdata); /* Build query */  
  45. //printf("%s\n",query);  
  46.  
  47. if(mysql_real_query(&demo_db, query, strlen(query))){ /* Make query */   
  48.      printf(mysql_error(&demo_db));   
  49.      exit(1);   
  50. }   
  51. free(query);   
  52.  
  53. insert_id=mysql_insert_id(&demo_db); /* Find what id that data was given */   
  54.  
  55. query=malloc(255);   
  56. sprintf(query, "SELECT demodata FROM demotable WHERE id=%d", insert_id);   
  57. if(mysql_real_query(&demo_db, query, strlen(query))){ /* Make query */   
  58.      printf(mysql_error(&demo_db));   
  59.      exit(1);   
  60. }  
  61. free(query);   
  62.  
  63. res=mysql_store_result(&demo_db); /* Download result from server */   
  64. row=mysql_fetch_row(res); /* Get a row from the results */   
  65. printf("You inserted \"%s\".\n", row[0]);   
  66. mysql_free_result(res); /* Release memory used to store results. */   
  67. mysql_close(&demo_db);   
  68.  
  69. return 0;   
  70. }   
  71.  
  72.  

 

 

 

【编辑推荐】

显示MYSQL表信息的方法

深度解析MySQL创建关联表

MySQL MyISAM表结构的恢复

mysql数据库大小写的问题讨论

MySQL表别名的另类用法

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...