mysql中怎么导入source数据库
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,这期内容当中小编将会给大家带来有关mysql中怎么导入source数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。想有一个不需要安装mysql客户端就可以导入数
千家信息网最后更新 2025年11月18日mysql中怎么导入source数据库
这期内容当中小编将会给大家带来有关mysql中怎么导入source数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
想有一个不需要安装mysql客户端就可以导入数据库脚本,但找不到对应的api调用。所以得需要自己去实现导入数据库的实现方法:
common.h
#ifndef _COMMON_H#define _COMMON_H#ifdef WIN32 #includetypedef __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 #include #include #include #endif#include #include #include #include #include
dbmanager.h
#ifndef _DBMANAGER_H#define _DBMANAGER_H#includeusing namespace std;#include "common.h"#include //数据库配置信息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 & 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"#includeDBManager 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; }} /************************************************************************//* 执行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;}/************************************************************************//* 选择数据库 *//************************************************************************/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 & 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){//找到了一条语句的结束位 sql.push_back(signalSql); signalSql.clear(); } s.clear(); } in.close(); return true;}/************************************************************************//* 导入数据库sql *//************************************************************************/bool DBManager::sourceSql(string fileName){ vector vecSql; bool ret = readFromSql(fileName,vecSql); if(ret == false){ printf("导入gamedb.sql失败"); return false; } for (vector ::iterator it = vecSql.begin(); it != vecSql.end(); it++) { ExeSql((*it).c_str(), (*it).length()); } return true;}
上述就是小编为大家分享的mysql中怎么导入source数据库了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
数据
数据库
语句
内容
分析
专业
中小
信息
内容丰富
客户
客户端
容器
就是
文件
文章
方法
更多
知识
篇文章
脚本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
做网络安全管理维护的工资高吗
数据库插入条目
怎么把服务器备份到u盘
张家港 软件开发
软件开发接口对接用什么图
网络安全和反诈宣传
海尔软件开发岗位
数据库删除不掉
天猫购物服务器忙是怎么回事
广州翰博软件开发老板是谁
国家信息网络安全法实施
软件开发文档模板图片
推荐进入以下服务器
网络安全的重要性特点
2022年服务器2万元
电力载波通信服务器
软件开发项目信息平台
上古卷轴5登录服务器禁用
cfhd数据库
互联网科技网站有哪些
etp财务软件开发
盐城推广网络技术服务价格
网络安全手抄报最好看
化妆品数据库怎么做
实用便宜的云服务器
北京互联网软件开发计划
安庆服务器机箱外壳
无密码无线网络安全提示语
rfid的数据库任务
智慧水务 软件开发