zoukankan      html  css  js  c++  java
  • mysql-connetor-c 自动创建数据库、数据库表的命令

    1.首先连接MySQL默认的数据库mysql

    // 参数说明:
    // strIP: MySQL数据库的IP地址
    // nPort: MySQL数据库的端口号
    // strDBName: 要连接的数据库(mysql)
    // strUserName: 连接MySQL数据库的用户名
    // strPassword: 连接MySQL数据库的密码
    bool Connect( const std::string& strIP, int nPort, const std::string& strDBName, 
        const std::string& strUserName, const std::string& strPassword )
    {
        if ( nullptr == (m_hMysql = mysql_init(nullptr)) )
        {
            printf("mysql_init() failed!");
            return false;
        }
    
        if( nullptr == mysql_real_connect( m_hMysql, strIP.c_str(), strUserName.c_str(), 
            strPassword.c_str(), strDBName.c_str(), nPort, nullptr, 0) )
        {
            printf("mysql_real_connect() failed!");
            return false;
        }
    return true;
    }

    调用示例:

        bool ret = Connect("127.0.0.1", 3306, "mysql", "test", "test"); // 注意:"mysql"是MySQL自己的数据库
        if (!ret)
        {
            printf("connect mysql failed
    ");  
        }

    2.创建自己的数据库test

    bool CreateDatabase(const std::string& strSQL)
    {
        if (nullptr == m_hMysql || strSQL.empty())
        {
            return false;
        }
    
        if (MYSQL_OK != mysql_query(m_hMysql, strSQL.c_str()))
        {
            printf("mysql_query failed, sql:%s
    ", strSQL.c_str());
            return false;
        }
        return true;
    }

    调用示例:

    bool ret = CreateDatabase("CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci");
    if (!ret)
    {
      printf("CreateDatabase failed
    ");  
    }

    3.切换到自己的数据库test

    bool ChangeDatabase(const std::string& strSQL)
    {
        if (nullptr == m_hMysql || strSQL.empty())
        {
            return false;
        }
    
        if (MYSQL_OK != mysql_query(m_hMysql, strSQL.c_str()))
        {
            printf("mysql_query failed, sql:%s
    ", strSQL.c_str());
            return false;
        }
        return true;
    }

    调用示例:

    bool ret = ChangeDatabase("USE test");
    if (!ret)
    {
      printf("ChangeDatabase failed
    ");  
    }

    4.创建数据库表t_data

    bool CreateTable(const std::string& strSQL)
    {
        if (nullptr == m_hMysql || strSQL.empty())
        {
            return false;
        }
    
        if (MYSQL_OK != mysql_query(m_hMysql, strSQL.c_str()))
        {
            printf("mysql_query failed, sql:%s
    ", strSQL.c_str());
            return false;
        }
        return true;
    }

    调用示例:

    bool ret = CreateTable("CREATE TABLE IF NOT EXISTS t_data ( Id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID', DATA VARCHAR(256) NOT NULL COMMENT '数据位置', PRIMARY KEY (Id) ) ENGINE=INNODB DEFAULT CHARSET=utf8");
    if (!ret)
    {
        printf("create table failed
    ");
    }
  • 相关阅读:
    《深度学习推荐系统中各类流行的Embedding方法(上)》
    《替代梯度下降——基于极大值原理的深度学习训练算法》&《加速对抗训练——YOPO算法浅析》
    《【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现》
    《论文阅读:对抗训练(adversarial training)》
    《一文搞懂NLP中的对抗训练》
    CLOUD配置审批流发消息
    CLOUD财务成本核算
    K3CLOUDJOBPROCESS每分钟重启
    查看服务器日志
    数据规则列表加导入导出
  • 原文地址:https://www.cnblogs.com/qingtian224/p/9849896.html
Copyright © 2011-2022 走看看