mysql数据库访问程序_c++程序访问MySQL数据库操作示例

1.安装mysql

sudo apt-get install mysql-server mysql-client

安装过程中会提示设置用户名和密码

2.启动mysql

sudo /etc/init.d/mysql restart

3.安装C++开发库

sudo apt-get install libmysqlclient-dev

4.登录mysql,并创建表

mysql -u root -p

--表maxPromised

CREATE TABLE maxPromised(id BIGINT auto_increment primary key,

lock_name varchar(128), instance_no BIGINT, ballot_no BIGINT,

unique uniq_lock_num(`lock_name`,`instance_no`)) engine=innodb

default charset=utf8;

--表maxAccepted

CREATE TABLE maxAccepted(id BIGINT auto_increment primary key,

lock_name varchar(128), instance_no BIGINT, ballot_no BIGINT, usid

char(37), val_len int, val_str varchar(128),unique

uniq_lock_num(`lock_name`,`instance_no`)) engine=innodb default

charset=utf8;

5.代码片段

#include 

//连接数据库

MYSQL *conn = mysql_init(NULL);

if (conn == NULL) {

LOGGER(ERROR)<

exit(1);

}

if (mysql_real_connect(conn, "localhost", "root", "themis", "themis", 0, NULL, 0) == NULL) {

LOGGER(ERROR)<

exit(1);

}

//插入

char query[MAX_SQL_STMT_SIZE];

sprintf(query, "INSERT INTO maxPromised(lock_name, instance_no, ballot_no) VALUES(\"%s\",%lu,%lu);",

“field“,

1L,

0L

);

if(mysql_query(acceptor->conn, query) != 0){

LOGGER(ERROR)<

}

//更新

sprintf(query, "UPDATE maxPromised set ballot_no = %lu WHERE lock_name = \"%s\" AND instance_no = %lu;",

1,

“field”,

3

);

if(mysql_query(acceptor->conn, query) != 0){

LOGGER(ERROR)<

//查询数据库

MYSQL_RES *result;

MYSQL_ROW row;

char query[MAX_SQL_STMT_SIZE];

sprintf(query, "SELECT * FROM maxAccepted_%d", id);

mysql_query(conn, query);

result = mysql_store_result(conn);

while (result && (row = mysql_fetch_row(result))) {

const char* field = row[1];

long iid   = atol(row[2]);

long bno   = atol(row[3]);

printf("%s, %lu, %lu\n", field, iid, bno);

}

mysql_free_result(result);

//关闭数据库

mysql_close(conn);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值