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, ) )
{
printf("mysql_real_connect() failed!");
return false;
}
return true;
}

调用示例:

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

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\n", 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\n");
}

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\n", strSQL.c_str());
return false;
}
return true;
}

调用示例:

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

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\n", 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\n");
}

最新文章

  1. android开发——学习总结20131204
  2. php爬虫 phpspider
  3. ModelAndView的介绍
  4. 【Longest Valid Parentheses】cpp
  5. RecyclerView基本用法
  6. 全球在一个 level 上思考的价值观和想法是一样的(转)
  7. element ui主题色跟换
  8. Django之事务
  9. centos 6.8 安装git 报错
  10. vue权威指南笔记02——对比v-if与v-show
  11. 戴尔poweredge r730服务器配置以及系统安装
  12. C# Microsoft.Office.Interop.Excel.ApplicationClass 加载类型库/DLL 时出错
  13. 生产机器禁止ROOT远程SSH登录
  14. 【Python】【元编程】【二】【描述符】
  15. grandstack graphql 开发模型
  16. PHP session用redis存储
  17. bzoj1201: [HNOI2005]数三角形----递推+bitset
  18. C#—序列化(Serialize)和反序列化(NonSerialize)
  19. node读写文件
  20. 搜索提示(search suggest)文献阅读

热门文章

  1. mkdir无法创建目录权限不够
  2. Java标准输入/输出/错误流
  3. CM 安装cdh 版本及出现问题
  4. transport error 202: bind failed: Address already in use
  5. vue swiper上下无缝轮播
  6. 转载:vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  7. struts2注解方式的验证
  8. WordTEX
  9. js 数组 常用方法
  10. R语言 数据类型