MySQL数据库应用

目前众多方向项目中数据库频繁应用,出现频率越来越高,初学者掌握一两个典型数据库使用还是比较有必要的,先完成简单的增删改查,再做深入学习,下面是个入门的MySQL数据库应用,大家可以一起讨论看下数据库典型用法,有问题可以留言探讨学习

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

//测试使用数据库
int main(int argc,char *argv[])
{
	//变量初始化
	MYSQL my_connect;
	MYSQL *my_ptr;
	unsigned int timeout=10;
	int iTableRow,iTableCol,i,j;  
	MYSQL_ROW sqlrow;
	//1、初始化数据结构体  mysql_init
	my_ptr = mysql_init(&my_connect);
	if(NULL == my_ptr)
	{
		perror("init error\r\n");
		goto err;
	}
	//2、设置额外选项 mysql_options
	if(mysql_options(&my_connect, MYSQL_OPT_CONNECT_TIMEOUT, (char *)&timeout))
	{
		perror("options error\r\n");
		goto err;
	}
	//3、主动申请连接数据库 mysql_real_connect
	my_ptr = mysql_real_connect(&my_connect, NULL, "l", "123", "test", 0, NULL, 0);
	if(NULL == my_ptr)
	{
		perror("connect error\r\n");
		goto err;
	}
	/*	
	//4、创建表 mysql_query
	if(mysql_query(&my_connect, "create table ttt(id int,name varchar(20))"))
	{
	perror("create error\r\n");
	goto err;	
	}
	 */	 
	//5、插入项 mysql_query
	if(mysql_query(&my_connect, "insert into ttt(id,name) values(1,'zhang'),(2,'li')"))
	{
		perror("inset error\r\n");
		goto err;	
	}
	//6、查看内容 mysql_query
	if(mysql_query(&my_connect, "select * from ttt"))
	{
		perror("select error\r\n");
		goto err;	
	}
	MYSQL_RES *res_ptr;
	MYSQL_FIELD *tt;
	res_ptr = mysql_store_result(&my_connect);//集合 
	if( res_ptr )  
	{  
		iTableRow = mysql_num_rows(res_ptr);//行  
		iTableCol = mysql_num_fields(res_ptr);//列 
		tt = mysql_fetch_field(res_ptr);
		printf("table is %s:\r\n",tt->table);
		for(i=0;i<iTableCol;i++)
		{
			printf("%-8s  ",(tt+i)->name);
		}
		printf("\r\n");
		for(i=0; i<iTableRow; i++)  
		{  
			sqlrow = mysql_fetch_row(res_ptr);  
			for(j=0; j<iTableCol; j++)  
			{  
				printf("%-8s  ",sqlrow[j]);//字符串向左靠,右补空格  
			}  
			printf("\n"); 
		}  
	} 
	mysql_free_result(res_ptr);  
	//7、关闭数据库 mysql_close
	mysql_close(&my_connect);
	return 0;
err:
	printf("error:%s\r\n",mysql_error(&my_connect));
	mysql_close(&my_connect);
	return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值