您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Linux下C++访问MySQL_MySQL

2024/3/5 18:09:17发布27次查看
今天给大家演示在linux下如果用c++操作mysql1:安装mysql挂载光盘:
mkdir /cdrom
mount /dev/hdc /cdrom
cd /cdrom/server
rpm -ivh perl-dbi-1.52-2.el5.i386.rpm
rpm -ivh mysql-5.0.45-7.el5.i386.rpm mysql-bench-5.0.45-7.el5.i386.rpm mysql-devel-5.0.45-7.el5.i386.rpm
rpm -ivh perl-dbd-mysql-3.0007-2.el5.i386.rpm
rpm -ivh mysql-server-5.0.45-7.el5.i386.rpm mysql-test-5.0.45-7.el5.i386.rpm查看mysql服务状态:
service mysqld status启动服务:
service mysqld start连接数据库:
mysql2:安装gcc工具包rpm -ivh gcc* --force --nodeps 强制安装3:进入mysqlcreate table t1 (id int,name varchar(30));t1表插入数据:
1.cpp
#include
#include
#include
using namespace std;
main() 
{
     mysql mysql;
     mysql_init(&mysql);
     mysql_real_connect(&mysql, localhost, root, root, test, 3306, null, 0);
     string sql = insert into t1 (id, name) values (1, 'java1');;
     mysql_query(&mysql, sql.c_str());
     mysql_close(&mysql);
}
g++ -o 1.out 1.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql 更新mysql数据;
1.cpp
#include
#include
#include
using namespace std;
main()
{
     mysql mysql;
     mysql_init(&mysql);
     mysql_real_connect(&mysql, localhost, root, root, test, 3306, null, 0);
     string sql = insert into t1 (id,name) values (2, 'java2'),(3, 'java3');;
     mysql_query(&mysql, sql.c_str());
     sql = update t1 set name = 'java33' where id = 3;;
     mysql_query(&mysql, sql.c_str());
     mysql_close(&mysql);
}
g++ -o 1.out 1.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./1.out mysql 存储过程:
mysql>delimiter //
        >create procedure p01()
        >begin
        >insert into t1 (id,name) values (66, 'java66');
        >end;
        >//应用存储过程:mysql>delimiter //
        >create procedure p01()
        >begin
        >insert into t1 (id,name) values (66, 'java66');
        >end;
        >//触发器:
新建t2表:
mysql>delimiter //
     >create trigger tr1 after insert on t1 for each row
     >begin
     >insert into t2 (id,name) values (new.id,new.name);
     >end;
     >//
     >delete from t1 where id = 66;
     >//
     >delimeter ;vi 3.cpp
#include
#include
#include
using namespace std;
main()
{
    mysql mysql;
    mysql_init(&mysql);
    mysql_real_connect(&mysql, localhost, root, root, 3306, null, 0);
    string sql = call p01();;
    mysql_query(&mysql, sql.c_str());
    mysql_close(&mysql);
}
g++ -o 3.out 3.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./3.outmysql>delimeter ;
     >select * from t1;
     >select * from t2;
     >存在数据(66, 'java66')查看表中数据的总数:vi 4.cpp
#include
#include
#include
using namespace std;
main()
{
    mysql mysql;
    mysql_res *result = null;
    mysql_init(&mysql);
    mysql_real_connect(&mysql, localhost, root, root, test, 3306, null, 0);
    string sql = select id,name from t1;;
    mysql_query(&mysql, sql.c_str());
    result = mysql_store_result(&mysql);
    int rowcount = mysql_num_rows(result);
    cout     mysql_close(&mysql);
}
g++ -o 4.out 4.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./4.out查处字段的总数:vi 5.cpp
#include
#include
#include
using namespace std;
main()
{
    mysql mysql;
    mysql_res *result = null;
    mysql_init(&mysql);
    mysql_real_connect(&mysql, localhost, root, root, 3306, null, 0);
    string str = select id,name from t1;;
    mysql_query(&mysql, sql.c_str());
    result = mysql_store_result(&mysql);
    int rowcount = mysql_num_rows(result);
    cout     int fieldcount = mysql_num_fields(result);
    cout     mysql_close(&mysql);
}
g++ -o 5.out 5.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./5.out列出具体字段名:vi 6.cpp
#include
#include
#include
using namespace std;
main()
{
    mysql mysql;
    mysql_res *result = null;
    mysql_field *field = null;
    mysql_init(&mysql);
    mysql_real_connect(&mysql, localhost, root, root, test, 3306, null, 0);
    string str = select id,name from t1;;
    mysql_query(&mysql, sql.c_str());
    result = mysql_store_result(&mysql);
    int rowcount = mysql_num_rows(result);
    cout     int fieldcount = mysql_num_fields(result);
    cout     for(int i = 0; i     {
     field = mysql_fetch_field_direct(result,i);
     cout name     }
    cout     mysql_close(&mysql);
}
g++ -o 6.out 6.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./6.out显示表中所有数据:vi 7.cpp
#include
#include
#include
using namespace std;
main()
{
    mysql mysql;
    mysql_res *result = null;
    mysql_field *field = null;
    mysql_init(&mysql);
    mysql_real_connect(&mysql, localhost, root, root, 3306, null, 0);
    string str = select id,name from t1;;
    mysql_query(&mysql, sql.c_str());
    result = mysql_store_result(&mysql);
    int rowcount = mysql_num_rows(result);
    cout     int fieldcount = mysql_num_fields(result);
    cout     for(int i = 0; i     {
     field = mysql_fetch_field_direct(result,i);
     cout name     }
    cout     mysql_row row = null;
    row = mysql_fetch_row(result);
    while(null != row)
    {
     for(int i=1; i     {
        cout      }
     cout      row = mysql_fetch_row(result);
    }
    mysql_close(&mysql);
}
g++ -o 7.out 7.cpp -lmysqlclient -i/usr/include/mysql/ -l/usr/lib/mysql
./out
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product