MySQL访问
本文最后更新于 266 天前,如有失效请评论区留言。

准备工作

想用C/C++库来访问数据库,在云服务器中还要下第三方库。

方法一:
可以在MySQL官方下载网站中可以找到相关的下载链接,比如我这里下载C/C++的connector,选择对应你服务器的版本下载,并发送到服务器中解压即可。

方法二:
在centos系统中使用yum下载指令可以下载到MySQL的开发包,名字包含dev,devel的就是开发包。

方法三:
我之前使用宝塔Linux面板下载的MySQL,发现已经一键下好了开发包。

123

然后在终端里/usr/include/mysql/路径下可以找到mysql.h头文件,以及在/usr/lib64/路径下可以找到几个mysqlclient的动态库。

此时,我们在服务器中的准备工作就做好了!

C/C++接口增删改查

  1. 首先在C++文件中用下面的代码验证能否连通到本地服务器的mysqld服务端:

    std::cout << "mysql client version: " << mysql_get_client_info() << std::endl; // for test
  2. C/C++接口进行增删改。
    官方文档常用函数接口

    MYSQL *mysql_init(MYSQL *mysql); // 初始化
    void mysql_close(MYSQL *mysql); // 关闭
    
    MYSQL *mysql_real_connect(MYSQL *mysql,
                       const char *host,
                       const char *user,
                       const char *passwd,
                       const char *db,
                       unsigned int port,
                       const char *unix_socket,
                       unsigned long client_flag); // 连接到某个用户的某个数据库
    
    int mysql_query(MYSQL *mysql, const char *stmt_str); // 发送指令
    • init和close是必须的
    • mysql_real_connect中,unix_socket暂填nullptr,client_flag暂填0
    • mysql_query可以发送sql语句,用来操作数据库,insert,drop,update都可以!但select暂时没有效果
  3. select查询的细节

    MYSQL_RES *mysql_store_result(MYSQL *mysql); // 转储数据到结果集中
    my_ulonglong mysql_num_rows(MYSQL_RES*); // 获取有多少行
    my_ulonglong mysql_num_fields(MYSQL_RES*); // 获取有多少列
    
    MYSQL_ROW mysql_fetch_row(MYSQL_RES *result); // 遍历数据
    MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result); // 遍历属性
    
    void mysql_free_result(MYSQL_RES *result); // 释放结果集

    1)首先mysql_query(mysql, sql);中的sql语句使用select查询
    2)mysql_store_result(mysql); 转储MYSQL结构里的数据到MYSQL_RES结构中

图形化界面访问MySQL

Navicat(收费、体验最好)
SQLyog(收费、体验好)
MySQL Workbench(免费、官方、体验一般)

先创建一个允许任何地方登录的用户。

create user 'xxx'@'%' identified by 'yyy';

然后在navicat中点连接,先点ssh连接,不要测试,直接连接。然后右键这个连接,选编辑连接,在常规里改成localhost,再填相关用户名、端口、密码等,就能连上了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇