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 database\n");
- 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("%s\n",encdata);
- query=malloc(datasize+255);
- sprintf(query, "INSERT INTO demotable(demodata) VALUES('%s')", encdata); /* Build query */
- //printf("%s\n",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;
- }
【编辑推荐】