通用的mysql dump程序
可以适用任何sql , 自动识别字段名, gzip压缩 , 带输出buffer , 支持分库分表
需要辅助代码和Makefie , 下面是主程序代码,
/**
* mysql数据表dump程序
* @author : cheng limin
* @date : 2010-1-18
*
* 使用样例:
*./dump_mysql -c ../conf/dump.conf
* -t xml
* -s "select * from * where punish_type != 0"
* -f ctu.txt
*/
#include <iostream>
#include <string>
#include <errno.h>
#include <time.h>
#include <sys/time.h>
#include "mysql.h"
#include "INIParser.h"
#include "tbZip.h"
using namespace __gnu_cxx;
using namespace std;
#define OUT_FORMAT_TXT 0 /* 输出文件格式 行列格式 */
#define OUT_FORMAT_XML 1 /* 输出文件格式 xml格式 */
/* 从命令行获得的参数 */
string g_confFile = ""; /* 配置文件 */
string g_sectionName = ""; /* 配置文件section节名称 */
string g_sql = ""; /* 需要执行的sql */
string g_fileName = ""; /* 输出文件名 */
/* 从配置文件获得的参数 */
string g_fieldSep = ""; /* 字段结束 */
string g_lineSep = ""; /* 行结尾 */
string g_host = ""; /* 主机名 */
int g_port = 3306; /* 端口号 默认3306 */
string g_user = ""; /* 用户名 */
string g_passwd = ""; /* 密码 */
string g_db = ""; /* 库名 */
string g_charset = ""; /* 数据库字符集 */
int g_compType = 0; /* 输出文件压缩方式 默认0 0=不压缩 1=gzip */
int g_outFormat = OUT_FORMAT_TXT; /* 输出文件格式 , 默认为文本*/
FILE *g_fp; /* 输出文件句柄 */
tbZip *g_tz; /* 压缩文件工具类 */
/**
* 使用帮助
*
* @param progName 程序名
*/
void usage(const char *progName)
{
fprintf(stderr, "************************************************* \n");
fprintf(stderr, "Usage: %s \n", progName);
fprintf(stderr, " -c configeFile 程序的配置文件 \n");
fprintf(stderr,
相关文档:
Mysql,SqlServer,Oracle主键自动增长的设置
1、把主键定义为自动增长标识符类型
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));
insert into customers(name) values("name1"),("nam ......
1.读出方式
DataReader和DataSet都可以实现对数据库数据的查询返回,但前者只能提供快速的查询方式,后者还可以实现对数据的添加、修改、删除功能。
(1)DataReader方式读取:
string sConnString = "server=localhost;User Id=root;password=root;Persist Security Info=True;database=db_user";
MySqlConnection myC ......
2.环境说明
2.1 硬件环境(两台机器的硬件环境相同)
CPU
Inter(R) Pentium(R) Dual CPU E5200 @2.50GHz
内存大小
384MB
硬盘大小
8GB
其它说明
本机器为虚拟机,其有两块网卡,一对网卡直连,一对接入交换机
CPU
Inter(R) Pentium(R) Dual CPU E5200 @2.50GHz
内存大小
384MB
......
1、取字段注释
Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释
from INFORMATION_SCHEMA.COLUMNS
Where table_name = 'companies'##表名
AND table_schema = 'testhuicard'##数据库名
AND column_name LIKE 'c_name'##字段名
2、取得表注释
Select table_name 表名,TABLE_COMMENT 表注释 ......
MySql学习笔记 MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。 注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年 ......