一、安装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
结语:
路遥需前行,皆是修行。