最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

linux(ubuntu)下C++访问mysql数据库_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:23:14
文档

linux(ubuntu)下C++访问mysql数据库_MySQL

linux(ubuntu)下C++访问mysql数据库_MySQL:Ubuntu Ubuntu安装msyql 安装mysql数据库 sudo apt-get install mysql-server 安装mysql客户端 sudo apt-get install mysql-client C API的基本类型 MYSQL 该结构代表1个数据库连接的句柄.
推荐度:
导读linux(ubuntu)下C++访问mysql数据库_MySQL:Ubuntu Ubuntu安装msyql 安装mysql数据库 sudo apt-get install mysql-server 安装mysql客户端 sudo apt-get install mysql-client C API的基本类型 MYSQL 该结构代表1个数据库连接的句柄.

Ubuntu

  1. Ubuntu安装msyql

    1. 安装mysql数据库

      sudo apt-get install mysql-server
    2. 安装mysql客户端

      sudo apt-get install mysql-client
  2. C API的基本类型

    1. MYSQL

      1. 该结构代表1个数据库连接的句柄.

      2. 几乎所有的MySQL函数均使用它.

      3. 不应尝试拷贝MYSQL结构, 不保证这类拷贝结果会有用.

    2. MYSQL_RES

      1. 该结构代表返回行的查询结果

    3. MYSQL_ROW

      1. 这是1行数据的“类型安全”表示。它目前是按照计数字节字符串的数组实施的。

      2. 行是通过调用mysql_fetch_row()获得的。

    4. 官方文档地址

      1. http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c
  3. 代码

    1. 向表中插入(删除)一条数据

      #include #include using namespace std;int main(int argc, char* argv[]){ //准备mysql的访问结构 MYSQL mysql; mysql_init( &mysql ); mysql_real_connect( &mysql, "192.168.16.114",	//要访问数据库的IP地址 "root",	//用户名 "root",	//密码 "test",	//要访问的数据库 3306,	//该数据库的端口 NULL,	//一般为NULL 0	//一般为0 ); //插入 string sql = "insert into student value(1, 'jp', 24, 'gzjd')"; //删除 //string sql = "delete from student where id = 33"; //执行sql语句 mysql_query( &mysql, sql.c_str() ); //关闭数据库连接 mysql_close( &mysql ); return 0;}//编译 //g++ file.cpp -o target -lmysqlclient//执行 //./target//验证 //成功
    2. 更新表内容

      #include #include using namespace std;int main(int argc, char* argv[]){	MYSQL mysql;	mysql_init( &mysql );	mysql_real_connect(	&mysql,	"192.168.16.114",	"root",	"root",	"test",	3306,	NULL,	0	);	string sql = "update student set name = 'pj' where id = 2";	mysql_query( &mysql, sql.c_str() ); mysql_close(&mysql); return 0;}
    3. 调用存储过程

      #include #include using namespace std;int main(int argc, char* argv[]){	MYSQL mysql;	mysql_init( &mysql );	mysql_real_connect(	&mysql,	"192.168.16.114",	"root",	"root",	"test",	3306,	NULL,	0	);	string sql = "call myPorc();";	int ret = mysql_query( &mysql, sql.c_str() );	// debug info//	cout << mysql_error( &mysql );//	cout << ret << endl;	mysql_close(&mysql);	return 0;}
    4. 查询数据表的内容

      #include #include using namespace std;int main(int argc, char* argv[]){	MYSQL mysql;	mysql_init( &mysql );	mysql_real_connect(	&mysql,	"192.168.16.114",	"root",	"root",	"test",	3306,	NULL,	0	);	string sql = "select * from student";	mysql_query( &mysql, sql.c_str() );	MYSQL_RES *result = NULL;	result = mysql_store_result( &mysql );	//得到查询出来所有数据的条数	int row_count = mysql_num_rows( result );	cout << "all data number: " << row_count << endl;	//得到字段的个数和字段的名字	int field_count = mysql_num_fields( result );	cout << "field count : " << field_count << endl;	//得到所有字段的名字	MYSQL_FIELD* field = NULL;	for( int i = 0; i < field_count; ++i)	{	field = mysql_fetch_field_direct( result, i );	cout << field->name << "/t";	}	cout << endl;	//显示表中的所有数据	MYSQL_ROW row = NULL;	row = mysql_fetch_row( result );	while ( NULL != row )	{	for( int i = 0; i < field_count; ++i)	{	cout << row[i] << "/t";	}	cout << endl;	row = mysql_fetch_row( result );	} mysql_free_result(result); mysql_close( &mysql );	return 0;}
    5. 得到指定数据库test中的所有表

      #include #include #include #include using namespace std;int main(int argc, char* argv[]){	//定义一个数据库连接句柄	MYSQL mysql;	//对数据句柄进行初始化	mysql_init( &mysql );	//连接数据库	mysql_real_connect(	&mysql,	"192.168.16.114",	"root",	"root",	"test",	3306,	NULL,	0	);	//查询数据库	string sql = "show tables;";	mysql_query( &mysql, sql.c_str() ); 	MYSQL_RES *result = NULL;	result = mysql_store_result( &mysql );	//得到查询出来所有数据记录的数量	vector allTable;	MYSQL_ROW row = mysql_fetch_row( result );	while( NULL != row )	{	allTable.push_back( row[0] );	row = mysql_fetch_row( result );	}	for(vector::const_iterator cit = allTable.begin(); cit != allTable.end(); ++cit )	{	cout << *cit << "/t";	}	cout << endl;	mysql_free_result( result );	mysql_close( &mysql );	return 0;}



声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

linux(ubuntu)下C++访问mysql数据库_MySQL

linux(ubuntu)下C++访问mysql数据库_MySQL:Ubuntu Ubuntu安装msyql 安装mysql数据库 sudo apt-get install mysql-server 安装mysql客户端 sudo apt-get install mysql-client C API的基本类型 MYSQL 该结构代表1个数据库连接的句柄.
推荐度:
标签: 数据 数据库 linux
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top