ubuntu cpp与mysql连接_linux(ubuntu)下C++访问mysql数据库

向表中插入(删除)一条数据 #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

//验证

//成功

更新表内容 #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;

}

调用存储过程 #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;

}

查询数据表的内容 #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;

}

得到指定数据库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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值