Ubuntu16.04安装MySQL及其简易C代码实现

一、安装Mysql在Ubuntu16.04

sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

检查安装的正常与否:
sudo netstat -tap | grep mysql

卸载mysql环境:
sudo apt-get autoremove --purge mysql-server 
sudo apt-get remove mysql-server 
sudo apt-get autoremovemysql-server 
sudo apt-get remove mysql-common dpkg -l | grep ^rc| awk '{print $2}' | sudo xargs dpkg -P

重启mysql服务:
sudo/etc/init.d/mysql restart 或 sudo service mysql restart

客户端连接:
mysql -h127.0.0.1 -uroot -p 

二、MySQL相关结构体

ubuntu环境下需安装:libmysqlclient-dev
/usr/include/mysql/mysql.h -- mysql头文件

函数原型与结构体
1.MYSQL *mysql_init(MYSQL *mysql)
2.MYSQL *mysql_real_connect(MYSQL *mysql,
3.int mysql_query(MYSQL *mysql, const char *stmt_str)
4.MYSQL_RES *mysql_use_result(MYSQL *mysql)
5.MYSQL_RES *mysql_store_result(MYSQL *mysql)
6.MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
7.void mysql_free_result(MYSQL_RES *result)
8.void mysql_close(MYSQL *mysql);
MYSQL, MYSQL_RES, MYSQL_ROW, MYSQL_FIELD, MYSQL_FIELD_OFFSET

三、测试代码

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


int main(int argc,const char* argv[])
{
	int i = 0;

	MYSQL* sqlHandler = NULL;
	MYSQL_RES *sqlRes = NULL;
	MYSQL_ROW row;

	char server[] = "192.168.2.111";
	char user[] = "Leonard";
	char passwd[] = "xxxxxxx";
	char database[] = "mysql-test";

	char sqlCond[128] = {0};

	sqlHandler = mysql_init(NULL);
	if (!mysql_real_connect(sqlHandler,server,user,passwd,database,0,NULL,0))
	{
		printf("MySQL init error: %s : %d\n",mysql_error(sqlHandler),mysql_errno(sqlHandler));

		return -1;
	}

	sprintf(sqlCond, "insert into User_info(`name`,`class`)values('Even', 'Grama');");
	if(mysql_query(sqlHandler, sqlCond)){
		printf("MySQL Query error: %s\n",mysql_error(sqlHandler));
	}

	sprintf(sqlCond, "select * from User_info");
	if(mysql_query(sqlHandler, sqlCond)){
		printf("MySQL Query error: %s\n",mysql_error(sqlHandler));
	}

	sqlRes = mysql_use_result(sqlHandler);
	if(!sqlRes)
	{
		printf("mysql_fetch_row error: %s\n",mysql_error(sqlHandler));
	}

	while((row = mysql_fetch_row(sqlRes)) != NULL)
	{
		for(i = 0; i < mysql_num_fields(sqlRes); i++)
			printf("%s\t", row[i]);

		printf("\n");
	}

	mysql_free_result(sqlRes);
	mysql_close(sqlHandler);
	sqlHandler = NULL;
	sqlRes = NULL;

	return 0;
}

四、编译及其测试

gcc -Wall mysql_test.c -o mysql_test -lmysqlclient

结语:

路遥需前行,皆是修行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值