当前位置:   article > 正文

C程序访问MySQL(vscode远程连接)_vscode连接mysql数据库有什么作用

vscode连接mysql数据库有什么作用

        使用 vscode远程连接虚拟机,再利用MYSQL的C API 实现在vscode上编辑C程序与虚拟机上的MYSQL进行交互。

使用vscode远程连接:

        打开vscode:文件>新建窗口

        点击左下角:打开远程窗口>连接到主机

        添加新的SSH主机>输入: ssh 用户名@ip

        这时C盘用户名文件夹会新增员工ssh文件夹,里面有config文件,存放着已经添加的主机信息,点击它:

        可以查看已添加的主机信息,这时主机已成功添加:

        重新点开远程窗口>刚刚添加的主机>输入密码:

        左下角成功连接:

        连接成功后可以通过vscode直接操作虚拟机终端。

安装 C 的 MySQL 的客户端库:

连接成功后可以通过vscode直接操作虚拟机终端,输入命令:

  • sudo apt install mysql-client:用于安装 MySQL 客户端工具。MySQL 客户端包括一组命令行工具,如 mysqlmysqladmin 等,用于在终端中与 MySQL 服务器进行交互,执行数据库查询、管理数据库等操作。安装 MySQL 客户端可以使用户在本地计算机上直接操作 MySQL 数据库。
  • sudo apt install libmysqlclient-dev: 用于安装 MySQL C API 的开发文件。MySQL C API(MySQL Connector/C)是用于 C 语言编程的接口,允许开发人员通过 C 语言与 MySQL 数据库进行交互。安装了 libmysqlclient-dev 包后,开发人员可以在本地计算机上开发和编译使用 MySQL C API 的 C 语言程序,实现与 MySQL 数据库的连接、查询、数据操作等功能。

安装完后,即可利用MYSQL的C API访问MYSQL数据库。

MYSQL的C API 的作用:

        MySQL 的 C API(通常称为 MySQL Connector/C)是用于 C 语言编程的接口,允许开发人员通过 C 语言与 MySQL 数据库进行交互。MySQL 的 C API 提供了一组函数,可以执行数据库连接、查询、数据插入、更新、删除等操作。它的主要作用包括:

  1. 数据库连接: 允许程序与 MySQL 数据库建立连接,包括指定主机、用户名、密码、数据库名称等连接参数。
  2. 执行 SQL 查询: 可以执行 SQL 查询语句,包括 SELECT、INSERT、UPDATE、DELETE 等,从而实现数据的读取、插入、更新、删除等操作。
  3. 处理查询结果: 提供了函数来处理 SQL 查询的结果集,包括获取结果集中的数据行、字段数量、字段名称等信息。
  4. 数据库事务: 支持数据库事务操作,允许开发人员通过 C 语言控制事务的开始、提交、回滚等操作。
  5. 错误处理: 提供了错误处理机制,使得程序可以捕获和处理数据库操作过程中的错误和异常情况。
  6. 数据库元数据操作: 提供了函数来获取数据库、表、字段等元数据信息,使得程序可以动态地获取数据库结构信息。
  7. 数据类型映射: 提供了与 MySQL 数据库中数据类型相对应的 C 语言数据类型映射,使得程序可以方便地处理不同类型的数据。
  8. 内存管理: 提供了函数来管理内存分配和释放,确保程序在执行过程中不会出现内存泄漏等问题。

 

总的来说,MySQL 的 C API 提供了一组函数和接口,使得开发人员可以通过 C 语言编写程序与 MySQL 数据库进行交互,实现数据库的连接、查询、数据操作等功能。

 

C API的主要函数介绍:

1. mysql_init()

  • 功能:初始化 MySQL 连接对象。
  • 使用方法:MYSQL *mysql_init(MYSQL *mysql)
  • 参数说明:mysql 是一个 MYSQL* 类型的指针,指向一个 MySQL 连接对象。如果为 NULL,则会创建一个新的连接对象。

 

2. mysql_real_connect()

  • 功能:建立一个连接到 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)
  • 参数说明:

        mysql:一个 MYSQL* 类型的指针,指向一个已初始化的 MySQL 连接对象。

        host:MySQL 服务器的主机名或 IP 地址。

        user:连接 MySQL 数据库的用户名。

        passwd:连接 MySQL 数据库的密码。

        db:要连接的数据库名称。

        port:MySQL 服务器的端口号。

        unix_socket:UNIX 套接字路径。

        client_flag:客户端标志,通常为 0。

 

3. mysql_query()

  • 功能:执行一个 SQL 查询。
  • 使用方法:int mysql_query(MYSQL *mysql, const char *stmt_str)
  • 参数说明:

        mysql:一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

        stmt_str:要执行的 SQL 查询语句。

 

4. mysql_real_query()

  • 功能:执行一个 SQL 查询,允许查询中包含多条 SQL 语句。
  • 使用方法:int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)
  • 参数说明:

        mysql:一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

        stmt_str:要执行的 SQL 查询语句。

        length:查询语句的长度,如果为 0,则表示 stmt_str 是以空字符结尾的字符串。

 

5. mysql_store_result()

  • 功能:获取结果集。
  • 使用方法:MYSQL_RES *mysql_store_result(MYSQL *mysql)
  • 参数说明:mysql 是一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

 

6. mysql_use_result()

  • 功能:获取结果集。
  • 使用方法:MYSQL_RES *mysql_use_result(MYSQL *mysql)
  • 参数说明:mysql 是一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

 

7. mysql_fetch_row()

  • 功能:获取结果集中的下一行。
  • 使用方法:MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
  • 参数说明:result 是一个 MYSQL_RES* 类型的指针,指向一个结果集对象。

 

8. mysql_fetch_lengths()

  • 功能:获取结果集中每个字段的长度。
  • 使用方法:unsigned long *mysql_fetch_lengths(MYSQL_RES *result)
  • 参数说明:result 是一个 MYSQL_RES* 类型的指针,指向一个结果集对象。

 

9. mysql_num_fields()

  • 功能:获取结果集中的字段数。
  • 使用方法:unsigned int mysql_num_fields(MYSQL_RES *result)
  • 参数说明:result 是一个 MYSQL_RES* 类型的指针,指向一个结果集对象。

 

10. mysql_num_rows()

  • 功能:获取结果集中的行数。
  • 使用方法:unsigned long mysql_num_rows(MYSQL_RES *result)
  • 参数说明:result 是一个 MYSQL_RES* 类型的指针,指向一个结果集对象。

 

11. mysql_field_count()

  • 功能:获取 SQL 语句执行后受影响的行数。
  • 使用方法:unsigned int mysql_field_count(MYSQL *mysql)
  • 参数说明:mysql 是一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

 

12. mysql_free_result()

  • 功能:释放结果集所占用的内存。
  • 使用方法:void mysql_free_result(MYSQL_RES *result)
  • 参数说明:result 是一个 MYSQL_RES* 类型的指针,指向一个结果集对象。

 

13. mysql_close()

  • 功能:关闭 MySQL 连接。
  • 使用方法:void mysql_close(MYSQL *mysql)
  • 参数说明:mysql 是一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

 

14. mysql_shutdown()

  • 功能:关闭 MySQL 服务器。
  • 使用方法:int mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level)
  • 参数说明:

        mysql:一个 MYSQL* 类型的指针,指向一个已建立连接的 MySQL 连接对象。

        shutdown_level:MySQL 关闭级别,可以是

SHUTDOWN_DEFAULT、SHUTDOWN_WAIT_CONNECTIONS、

SHUTDOWN_WAIT_TRANSACTIONSSHUTDOWN_WAIT_UPDATES

SHUTDOWN_WAIT_ALL_BUFFERSSHUTDOWN_WAIT_CRITICAL_BUFFERS

 

15. mysql_thread_init()

  • 功能:初始化 MySQL 线程。
  • 使用方法:void mysql_thread_init(void)
  • 参数说明:无。

 

16. mysql_thread_end()

  • 功能:结束 MySQL 线程。
  • 使用方法:void mysql_thread_end(void)
  • 参数说明:无。

 

以上是 MySQL C API 中的主要函数,通过这些函数,你可以在 C 语言程序中实现与 MySQL 数据库的连接、查询和操作。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号