欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql中怎么導(dǎo)入source數(shù)據(jù)庫

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)MySQL中怎么導(dǎo)入source數(shù)據(jù)庫,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作公司、成都網(wǎng)站設(shè)計(jì)公司、網(wǎng)站定制、成都營銷網(wǎng)站建設(shè)、小程序設(shè)計(jì)、微信公眾號開發(fā)、seo優(yōu)化服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為成都公路鉆孔機(jī)企業(yè)提供源源不斷的流量和訂單咨詢。

想有一個不需要安裝mysql客戶端就可以導(dǎo)入數(shù)據(jù)庫腳本,但找不到對應(yīng)的api調(diào)用。所以得需要自己去實(shí)現(xiàn)導(dǎo)入數(shù)據(jù)庫的實(shí)現(xiàn)方法:

common.h

#ifndef _COMMON_H
#define _COMMON_H
#ifdef WIN32

	#include <winsock2.h>

	typedef __int8					int8_t;
	typedef __int16					int16_t;
	typedef __int32					int32_t;
	typedef __int64					int64_t;

	typedef unsigned __int8			uint8_t;
	typedef unsigned __int16		uint16_t;
	typedef unsigned __int32		uint32_t;
	typedef unsigned __int64		uint64_t;

#define atoll(_String) \
	_atoi64(_String)
#else
	#include <sys/types.h>
	#include <sys/socket.h>
	#include <stdint.h>
	#include<linux/string.h>
#endif
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
using namespace std;
enum SERVER_ACTION{
	SERVER_STARTNEW = 0,//開新服
};
#ifdef WIN32
#define  PATH_DELIMTER "\\"
#else
#define  PATH_DELIMTER "/"
#endif
#endif

dbmanager.h

#ifndef _DBMANAGER_H
#define _DBMANAGER_H
#include <string>
using namespace std;
#include "common.h"
#include <mysql.h>
//數(shù)據(jù)庫配置信息
struct DBInfo
{
	string host;
	string user;
	string passwd;
	string db;
	uint16_t port;
};
class DBManager
{
public:
	DBManager();
	~DBManager();

	bool SelectDB(string dbName);
	bool ConnectDB(DBInfo &dbInfo);
	MYSQL_RES* ExeSql(const char * sql, int len);
	bool readFromSql(string fileName,vector<string>& sql);
	bool sourceSql(string fileName);
private:
	MYSQL *mysqlInit(DBInfo &info);
	void mysqlClose();
private:
	MYSQL *m_mysqlConn;
	DBInfo m_dbConfig;
};


extern DBManager g_DBManager;#endif

dbmanager.cpp

#include "dbmanager.h"
#include <fstream>
DBManager g_DBManager;
DBManager::DBManager()
{
}
DBManager::~DBManager()
{
}
bool DBManager::ConnectDB(DBInfo &dbInfo)
{
	m_dbConfig = dbInfo; 
	m_mysqlConn = mysqlInit(dbInfo);
	if (!m_mysqlConn) 
	{
		return false;
	}
	return true;
}

MYSQL *DBManager::mysqlInit(DBInfo &info)
{
	MYSQL *mysql = mysql_init(NULL);
	if (!mysql)  
		return NULL;
	
	if (!mysql_real_connect(mysql,
								info.host.c_str(),
								info.user.c_str(),
								info.passwd.c_str(),
								info.db.c_str(),
								info.port, NULL, 0)) 
	{
		int ret = mysql_errno(mysql); 
		
		mysql_close(mysql);
		return NULL;
	}
	
#if MYSQL_VERSION_ID >= 50013
	my_bool reconnect = 1;
	if (mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect))
	{
		int ret = mysql_errno(mysql); 
		 
		mysql_close(mysql);
		return NULL;
	}
#else
	mysql->reconnect = 1;
#endif

	
	return mysql;
} 

void DBManager::mysqlClose()
{
	if (m_mysqlConn)
	{
		mysql_close(m_mysqlConn);
		m_mysqlConn = NULL;
	}
} 
/************************************************************************/
/* 執(zhí)行SQL語句                                                          */
/************************************************************************/
MYSQL_RES* DBManager::ExeSql(const char * sql, int len)
{
	MYSQL_RES* res = NULL;
	int ret = mysql_real_query(m_mysqlConn, sql, len);
	if (ret == 0)
	{
		res = mysql_store_result(m_mysqlConn);
	}else{
		printf("mysql query %s return errorcode:%d\n",sql, mysql_errno(m_mysqlConn));
	}
	return res;
}
/************************************************************************/
/* 選擇數(shù)據(jù)庫                                                           */
/************************************************************************/
bool DBManager::SelectDB(string dbName)  
{  
	if(mysql_select_db(m_mysqlConn,dbName.c_str()))  
		return false;  
	else  
		return true;  
}
/************************************************************************/
/*fileName是sql文件的路徑,  解析出fileName中的每一條sql語句,放入到sql容器中    */
/************************************************************************/
bool DBManager::readFromSql(string fileName,vector<string>& sql){
	ifstream in(fileName.c_str(), ios::in);//linux
	string signalSql,s;  
	if(!in){
		return false;
	}  
	while(getline(in,s)){
		int pos = s.find(";");
		signalSql += s;
		if(pos != s.npos){//找到了一條語句的結(jié)束位
			sql.push_back(signalSql);
			signalSql.clear();
		}
		s.clear();
	}
	in.close();
	return true;
}
/************************************************************************/
/* 導(dǎo)入數(shù)據(jù)庫sql                                                        */
/************************************************************************/
bool DBManager::sourceSql(string fileName){
	vector<string> vecSql;
	bool ret = readFromSql(fileName,vecSql);
	if(ret == false){
		printf("導(dǎo)入gamedb.sql失敗");
		return false;
	}
	for (vector<string>::iterator it = vecSql.begin(); it != vecSql.end(); it++)
	{
		ExeSql((*it).c_str(), (*it).length());
	}
	return true;
}

上述就是小編為大家分享的mysql中怎么導(dǎo)入source數(shù)據(jù)庫了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:mysql中怎么導(dǎo)入source數(shù)據(jù)庫
網(wǎng)頁鏈接:http://chinadenli.net/article22/ihjpcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、ChatGPT、手機(jī)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、虛擬主機(jī)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
激情丁香激情五月婷婷| 亚洲国产成人久久99精品| 成人午夜激情在线免费观看 | 欧美大胆美女a级视频| 欧美一级不卡视频在线观看| 麻豆一区二区三区在线免费| 九九九热视频免费观看| 亚洲国产精品久久琪琪| 欧美精品亚洲精品日韩专区| 在线视频免费看你懂的| 99亚洲综合精品成人网色播 | 国内真实露脸偷拍视频| 日韩1区二区三区麻豆| 精品人妻一区二区四区| 日本人妻的诱惑在线观看| 91插插插外国一区二区| 色丁香一区二区黑人巨大| 日韩蜜桃一区二区三区| 日本久久中文字幕免费| 国产亚洲欧美自拍中文自拍| 国产黄色高清内射熟女视频| 亚洲午夜精品视频在线| 高清欧美大片免费在线观看| 亚洲欧美日韩在线看片| 国产成人精品国产成人亚洲| 91精品国产品国语在线不卡| 青青久久亚洲婷婷中文网| 欧美大胆女人的大胆人体| 国产精品午夜一区二区三区| 久久天堂夜夜一本婷婷| 精品人妻久久一品二品三品| 日本高清一区免费不卡| 国产亚州欧美一区二区| 国产精品大秀视频日韩精品| 成人免费观看视频免费| 亚洲精品蜜桃在线观看| 91久久精品中文内射| 日韩精品一区二区三区射精| 精品少妇一区二区三区四区| 欧美亚洲91在线视频| 欧美日韩少妇精品专区性色|