1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include <iostream>
#include <mysql/mysql.h>
using namespace std;
MYSQL *link;
MYSQL_RES *res;
MYSQL_ROW row;
int main(){
/* 将终端当前代码页设置为UTF-8
因为简体中文系统下Dev-C++默认编码为GBK且不可修改,故这样保证UTF-8数据库显示正确。
也可以创建数据库时将编码方式设为GBK,则下面两行可以删去。 */
system("chcp 65001");
system("cls");
/* 建立连接 */
link = mysql_init(NULL);
if(!mysql_real_connect(link, "localhost", "root", "YOUR_PASSWORD"/* 别忘了改成你的密码 */, "school"/* 数据库名字 */, 0, NULL, 0))
fprintf(stderr, "%s\n", mysql_error(link));
/* 查询数据库中表名并输出 */
if(mysql_query(link, "SHOW TABLES;"))
fprintf(stderr, "%s\n", mysql_error(link));
res = mysql_use_result(link);
cout<<"MySQL Tables in school database:"<<endl;
while((row = mysql_fetch_row(res)) != NULL)
cout<<row[0]<<endl;
/* 执行查询并输出 */
char sql[] = "SELECT sno, sname FROM student WHERE sno IN (SELECT sno FROM sc GROUP BY sno HAVING COUNT(*) >= 2);";
mysql_query(link, sql);
res = mysql_store_result(link);
for(int i = 0; i < mysql_num_rows(res); i++){
row = mysql_fetch_row(res);
cout<<row[0]<<'\t'<<row[1]<<endl;
}
/* 释放结果并关闭连接 */
mysql_free_result(res);
mysql_close(link);
return 0;
}
|