MySQL数据表中插入数据是我们很常见的操作,下面就为您详细介绍MySQL数据表中插入数据并查询输出的实现方法步骤,如果您对MySQL数据表相关内容感兴趣,随我看来。。
CREATE TABLE demotable ( id int(11) NOT NULL auto_increment, demodata varchar(255) default NULL, PRIMARY KEY (id) ) TYPE=MyISAM; ----------往数据表中插入数据并查询输出---------- #include <mysql.h> /* Headers for MySQL usage */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv){ MYSQL demo_db; mysql_init(&demo_db); int insert_id; char *encdata, *query; int datasize; MYSQL_RES *res; /* To be used to fetch information into */ MYSQL_ROW row; if(argc<2){ printf("Please supply a string for insertion into the databasen"); exit(0); } if(!mysql_real_connect(&demo_db, "localhost", "root", "mysql", "demodb", 0, NULL, 0)){ printf(mysql_error(&demo_db)); exit(1); } // if(mysql_select_db(&demo_db, "demodb")){ /* Select the database we want to use */ // printf(mysql_error(&demo_db)); // exit(1); // } encdata=malloc(2*strlen(argv[1])+1); datasize=mysql_real_escape_string(&demo_db, encdata, argv[1], strlen(argv[1])); //printf("%sn",encdata); query=malloc(datasize+255); sprintf(query, "INSERT INTO demotable(demodata) VALUES('%s')", encdata); /* Build query */ //printf("%sn",query); if(mysql_real_query(&demo_db, query, strlen(query))){ /* Make query */ printf(mysql_error(&demo_db)); exit(1); } free(query); insert_id=mysql_insert_id(&demo_db); /* Find what id that data was given */ query=malloc(255); sprintf(query, "SELECT demodata FROM demotable WHERE id=%d", insert_id); if(mysql_real_query(&demo_db, query, strlen(query))){ /* Make query */ printf(mysql_error(&demo_db)); exit(1); } free(query); res=mysql_store_result(&demo_db); /* Download result from server */ row=mysql_fetch_row(res); /* Get a row from the results */ printf("You inserted "%s".n", row[0]); mysql_free_result(res); /* Release memory used to store results. */ mysql_close(&demo_db); return 0; }