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, ) )
{
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");
}
mysql-connetor-c 自动创建数据库、数据库表的命令的更多相关文章
- mysql 按照月份自动创建表,以年和月为表明,动态生成。
需求:mysql5.5 数据库,想要根据月份自动创建表,每个月创建一张表,需要数据库自动创建,并根据当前年和月动态生成表名称. 解决办法:1 连接数据库工具为Navicat 2 首先创建存储过程, ...
- MySQL数据库 | 数据表-查询命令详细记录
本篇专门记录数据库增删改查中最常用.花招最多的 查. [文章结构] 一.数据的准备 二.基本的查询功能 三.条件查询 四.查询排序 五.聚合函数 六.分组查询 七.分页查询 八.连接查询 九.子查询 ...
- mysql/mariadb学习记录——创建删除数据库、表的基本命令
查看已有的数据库: mysql> show databases; +--------------------+ | Database | +--------------------+ | inf ...
- mysql使用存储过程,自动生成新的表单
use mydb; delimiter // CREATE procedure create_table(In imax int) BEGIN DECLARE `@i` int(11); D ...
- Mysql分区表及自动创建分区Partition
Range分区表建表语句如下,其中分区键必须和id构成主键和唯一键 CREATE TABLE `test1` ( `id` char(32) COLLATE utf8mb4_unicode_ci NO ...
- MySQL数据库以及表的管理
MySQL数据库以及表的管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 今天我们探讨的话题就是如何使用MySQL做开发,我们运维的主要工作不是去开发SQL的,但尽管如此,我们有 ...
- MySql数据库2【常用命令行】
(一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入mysql安装目录下的bin目录下,再键入命令mysql -uroot -p,回 ...
- Oracle_创建和管理表
创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...
- oracle中用SQL语句创建和管理表
表名和列名的命名规则: 必须以字母开头 必须在1-30个字符之间 只能包含A-Z,a-z,0-9,_,$,# 不能与用户定义的其它对象重名 不能使用ORACLE的保留字 创建前具备的条件: CREAT ...
- Oracle——创建和管理表
一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...
随机推荐
- shell 删除超过30天的文件和目录
#!/bin/bash location="/root/sqlbak/" find $location -mtime +30 -type d |xargs rm -rf #删除目录 ...
- 拾遗:govendor(Golang 依赖库版本控制)
官方资料: https://github.com/kardianos/govendor https://github.com/kardianos/govendor/blob/master/doc/fa ...
- hdu6395 /// 分块矩阵快速幂
题目大意: F(1)=A, F(2)=B, F(i)=C*F(i-2)+D*F(i-1)+p/i(向下取整) 给定A B C D p n 求F(n) 构造 矩阵A * 矩阵B = ...
- 数据可视化echart
刚接到这个一脸懵逼,到现在还算有点眉目,先上个图庆祝一下,哈哈,开心.... 最近没时间,等待更新..........
- nginx-rtmp-module 指令详解
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解. Core rtmp 语法:rtmp { ... } 上下文:根 描述: ...
- Git部署项目
前言 学习Git的目标是要学会如何部署项目.Git是一种版本控制系统,与之对应的还有CVS和SVN,其中CVS和SVN都是集中式的版本控制,而Git是一种分布式的,在现代项目开发中,大多使用Git来管 ...
- mfc中的_T
mfc 中的字符串表示常用_T,意为text,定义为宏定义,可以方便的定义所有字符串为UNICODE(16位,长字符)或者ANSI(8位,短字符). 如果对于所有的字符串定义了_T并且定义了预处理标志 ...
- python编程语言学习day02
格式化输出 (1)info 格式 (2)%字符串占位 %s 表示字符串占位 %d 表示整数占位 %f 表示浮点数占位 中间的% 之后是所需要输入的值 多个占位, % 之后用()括号括起 ...
- C/C++ 无法解析的外部符号解决方案
{ //0 类的成员函数没有实现就调用 //1 调用没有编译生成cpp 的函数 //2 没有加载lib //3 最重要的就是有声明无实现 }
- 语音识别(Web Speech API)
近期看了一个语音识别的dome-----Web Speech API 本api为js调用云端接口识别 个人测试了一下,响应速度还是比较快的 注意:本API与官网需翻墙使用和访问 展示效果: 页面代码如 ...