
1)初始化一个连接句柄
2)建立连接
所用到的函数如下:
MYSQL *mysql_init(MYSQL *connection) // 初始化连接句柄
//成功返回MySQL结构指针,失败返回NULL
MYSQL *mysql_real_connect(MYSQL *connection,
const char *server_host,
const char *sql_user_name,
const char *sql_password,
const char *db_name,
unsigned int port_number,
const char *unix_socket_name,
unsigned int flags) //建立连接
//成功返回MySQL结构指针,失败返回NULL
以下是完整实例:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <mysql/mysql.h>
using namespace std
void mysql_err_function(MYSQL * connection)
int main()
{
//freopen("input.txt","r",stdin)
MYSQL * connection
connection = mysql_init(NULL)
if (!connection)
{
cout <<"mysql_init failed!" <<endl
exit(-1)
}
if (!mysql_real_connect(connection,"localhost","root","123456","test",0,NULL,0))
{
cout <<"Connection To MySQL failed!" <<endl
mysql_err_function(connection)
}
cout <<"Connection To MySQL Server is Success..." <<endl
string str
getline(cin,str)
int res = 0
int affected_count = 0
while (str != "close" &&str != "" &&!res)
{
res = mysql_query(connection,str.c_str())
affected_count += mysql_affected_rows(connection)
if (res)
{
if (mysql_errno(connection))
{
cout <<"Error " <<mysql_errno(connection) <<" : "
<<mysql_error(connection) <<'\n' <<endl
break
}
}
getline(cin,str)
}
cout <<"Have affected " <<affected_count <<" rows!" <<endl
mysql_close(connection)
cout <<"Connection To MySQL Server is closed..." <<endl
return 0
}
void mysql_err_function(MYSQL * connection)
{
if (mysql_errno(connection))
{
cout <<"Error " <<mysql_errno(connection) <<" : "
<<mysql_error(connection) <<endl
exit(-1)
}
}
1、方法一:重命名所有的表,代码如下:CREATE
DATABASE
new_db_name
RENAME
TABLE
db_name.table1
TO
new_db_name.table1,
db_name.table2
TO
new_db_name.table2
DROP
DATABASE
db_name
2、方法二:mysqldump导出数据再导入,代码如下:
mysqldump
-uxxxx
-pxxxx
-h
xxxx
db_name
>
db_name_dump.SQL
mysql
-uxxxx
-pxxxx
-h
xxxx
-e
“CREATE
DATABASE
new_db_name”
mysql
-uxxxx
-pxxxx
-h
xxxx
new_db_name
<
db_name_dump.SQL
mysql
-uxxxx
-pxxxx
-h
xxxx
-e
“DROP
DATABASE
db_name”
3、方法三:使用shell脚本重命名所有的表,代码如下:
#!/bin/bash
mysqlconn=”mysql
-u
xxxx
-pxxxx
-S
/var/lib/mysql/mysql.sock
-h
localhost”
olddb=”db_name”
newdb=”new_db_name”
#$mysqlconn
-e
“CREATE
DATABASE
$newdb”
params=$($mysqlconn
-N
-e
“SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema='$olddb'”)
for
name
in
$params
do
$mysqlconn
-e
“RENAME
TABLE
$olddb.$name
to
$newdb.$name”
done
#$mysqlconn
-e
“DROP
DATABASE
$olddb”
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)