首页 > 数据库 >cpp-opt-mysql

cpp-opt-mysql

时间:2023-12-22 16:37:56浏览次数:53  
标签:opt lib 数据库 char mysql cpp password mysqlconn

title: c++ 操作mysql数据库
author: Tokisaki Galaxy
top: false
cover: false
toc: true
comments: true
mathjax: false
noindex: false
sitemap: true
date: 2020-09-12 14:17:04
img:
coverImg:
excerpt: C++ 操作mysql数据库
tags:
 - C++
 - mysql
categories:
 - 编程
password:

mysql5 安装

管理员命令行进/bin目录,输入mysqld.exe --install&&net start mysql

修改密码

首次修改输入mysqladmin -u root password "new_password"
修改旧密码输入首次修改输入mysqladmin -u root -p password "new_password"`,然后输入原有旧密码。

IDE设置

首先需要在include目录中加上mysql5\include
lib目录中加上mysql5\lib\opt
(可选)在链接器的链接的lib文件中,添加libmysql.lib
如果你找不到怎么添加libmysql.lib,可以跳过这一步

使用C++代码链接并操作数据库

需要的头文件

首先需要包含以下头文件

#include <winsock2.h>
#include <mysql.h>
#pragma comment(lib,"libmysql.lib") //如果你在IDE中设置了加入libmysql.lib,就可以不需要这一行,但是你加上去也没事

链接数据库

MYSQL mysqlconn;
mysql_init(&mysqlconn);
char * host="127.0.0.1";        //服务器地址
int port=3306;                  //端口
char * username="root";         //用户名
char * password="1234567890";   //密码
char * dbname="virus";          //数据库名

(mysql_real_connect(&mysqlconn,host,username,password,dbname,port,NULL,CLIENT_FOUND_ROWS) != NULL)?cout<<"success"<<endl:cout<<"fail"<<endl;

mysql_query(&mysqlconn,"set names gbk");    //链接完之后设置编码为GBK

读取数据库数据

void getdata()
{
    MYSQL_RES *     mysql_res;
    MYSQL_FIELD *   mysql_field;
    MYSQL_ROW       mysql_row;
    char * sql="select * from virus_data where city_deadCount>50";

    if(mysql_query(&mysqlconn,sql)==0)
    {
        cout<<"get data success"<<endl;
        mysql_res=mysql_store_result(&mysqlconn);
        if(mysql_res)
        {
            int fiendcount=mysql_num_fields(mysql_res);
            int rowcount=mysql_num_rows(mysql_res);
            cout<<fiendcount<<endl;
            cout<<rowcount<<endl;

            for(int i=0;i<fiendcount;i++)
            {
                mysql_field=mysql_fetch_field(mysql_res);
                cout<<mysql_field->name<<" ";
            }
            cout<<endl;

            for(int i=0;i<rowcount;i++)
            {
                mysql_row=mysql_fetch_row(mysql_res);
                for(int ja=0;ja<fiendcount;ja++)
                {
                    cout<<mysql_row[ja]<<" ";
                }
                cout<<endl;
            }
        }
    }else{
        cout<<"get data fail"<<endl;
    }
}

修改数据库数据

string sql;
sqla = "update item set qty=" + tmp + " where itemid='" + itemid + "'";   			//修改
sqlb = "delete from user where userid='" + userid + "'";							//删除
sqlc = "insert into datemax(date,value) values('" + date + "','" + "1" + "');";     //插入
mysql_query(&mysqlconn, sql);

项目实例

Github

标签:opt,lib,数据库,char,mysql,cpp,password,mysqlconn
From: https://www.cnblogs.com/tokisaki-galaxy/p/17921887.html

相关文章

  • cpp-Array-element-count
    title:C++数组元素个数计算author:TokisakiGalaxytop:falsecover:falsetoc:truemathjax:falsedate:2019-12-03img:coverImg:excerpt:C++数组元素个数计算tags:-C++categories:-编程password:inti_max(inta[]){ inttmp=a[0]; for(inti=......
  • 关于debezium同步mysql字段类型的datetime、date、time、timestamp的格式转换说明
    1.情景展示使用debezium的插件:debezium-connector-oracle(io.debezium.connector.mysql.MySqlConnector),自动读取mysql日志binlog相关表的数据变更记录,然后将其发布到kafkatopic当中。现在遇到的问题是:在mysql当中,表示日期类型的数据类型有:datetime、date和timestamp;表示时间......
  • mysql给指定账号取消drop权限
    要修改MySQL用户的权限,可以使用以下步骤:1、登录MySQL服务器:mysql-uroot-p2、选择数据库:如果要修改用户在特定数据库中的权限,可以选择对应的数据库。例如:USEyour_database;3、查看当前用户权限:SHOWGRANTSFOR'username'@'hostname';将'username'替换为要修......
  • MySQL数据库-2
    MySQL数据库-2第09章子查询#第09章子查询SELECTlast_name,salaryFROMemployeesWHEREsalary>( SELECTsalary FROMemployees WHERElast_name='Abel' );#2.单行子查询SELECTemployee_id,manager_id,department_idFROMemployeesWHERE(manager_id,depart......
  • mysql安装
    #tarxvfMySQL-5.6.28-1.linux_glibc2.5.x86_64.rpm-bundle.tarMySQL-embedded-5.6.28-1.linux_glibc2.5.x86_64.rpmMySQL-test-5.6.28-1.linux_glibc2.5.x86_64.rpmMySQL-shared-5.6.28-1.linux_glibc2.5.x86_64.rpmMySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpmMy......
  • ubuntu18离线安装mysql8.0
    参考文档Ubuntu中使用apt下载离线包以及相关依赖包-厚礼蝎-博客园(cnblogs.com)ubuntu18.04安装mysql8.0详细教程及踩坑解决方法(包含删除Mysql5.7版本方法)_ubuntu编译安装mysql-CSDN博客如何配置MySQL8中的lower_case_table_names来让其忽略大小写?–就是这个范儿(thi......
  • MySQL监控
    #My日常监控及sys库的使用##一、统计信息(维度)1、统计执行次数最多的语句:SELECTDIGEST_TEXT,COUNT_STAR,FIRST_SEEN,LAST_SEENFROM`performance_schema`.events_statements_summary_by_digestORDERBYCOUNT_STARDESC;2、查看平均响应时间最多的语句:SELECTDIGEST_TEXT,AVG_T......
  • (亲测)CENTOS 7.9 yum 安装mysql
    CENTOS7安装mysql1、下载MySQL官方的YumRepositorywget-i-chttp://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2、安装Repositoryyum-yinstallmysql57-community-release-el7-10.noarch.rpm3、更新过期的证书rpm--importhttps://repo.mysq......
  • Centos中安装Python3的mysqlclient库
    问题系统是centos7需要在python3中安装mysqlclient库使用pip3installmysqlclient然后无法安装报错Lookinginindexes:https://pypi.douban.com/simple/CollectingmysqlclientUsingcachedhttps://mirrors.cloud.tencent.com/pypi/packages/37/fb/d9a8f763c84f1e7......
  • 本地安装mysql (zip)
    下载https://downloads.mysql.com/archives/community/解压到文件夹且添加系统环境变量C:\Dinstall\Dmysql\mysql-8.2.0-winx64C:\Dinstall\Dmysql\mysql-8.2.0-winx64\bin在安装目录下创建并配置初始化的my.ini[mysqld]#skip-grant-tables#密码错误就用这个,不用密码......