网站的建设模式是指什么时候,延安网站建设推广微信网站,贵州省和城乡建设厅官方网站,网址搜索http://blog.chinaunix.net/uid-26743670-id-3479887.html 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数#xff0c;并在下一节详细介绍了它们。请参见25.2.3节#xff0c;“C API函数描述”。 函数 描述 mysql_affected_rows() 返回上次UPDATE、DELETE或INSERT查…http://blog.chinaunix.net/uid-26743670-id-3479887.html 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数并在下一节详细介绍了它们。请参见25.2.3节“C API函数描述”。 函数 描述 mysql_affected_rows() 返回上次UPDATE、DELETE或INSERT查询更改删除插入的行数。 mysql_autocommit() 切换 autocommit模式ON/OFF mysql_change_user() 更改打开连接上的用户和数据库。 mysql_charset_name() 返回用于连接的默认字符集的名称。 mysql_close() 关闭服务器连接。 mysql_commit() 提交事务。 mysql_connect() 连接到MySQL服务器。该函数已不再被重视使用mysql_real_connect()取代。 mysql_create_db() 创建数据库。该函数已不再被重视使用SQL语句CREATE DATABASE取而代之。 mysql_data_seek() 在查询结果集中查找属性行编号。 mysql_debug() 用给定的字符串执行DBUG_PUSH。 mysql_drop_db() 撤销数据库。该函数已不再被重视使用SQL语句DROP DATABASE取而代之。 mysql_dump_debug_info() 让服务器将调试信息写入日志。 mysql_eof() 确定是否读取了结果集的最后一行。该函数已不再被重视可以使用mysql_errno()或mysql_error()取而代之。 mysql_errno() 返回上次调用的MySQL函数的错误编号。 mysql_error() 返回上次调用的MySQL函数的错误消息。 mysql_escape_string() 为了用在SQL语句中对特殊字符进行转义处理。 mysql_fetch_field() 返回下一个表字段的类型。 mysql_fetch_field_direct() 给定字段编号返回表字段的类型。 mysql_fetch_fields() 返回所有字段结构的数组。 mysql_fetch_lengths() 返回当前行中所有列的长度。 mysql_fetch_row() 从结果集中获取下一行 mysql_field_seek() 将列光标置于指定的列。 mysql_field_count() 返回上次执行语句的结果列的数目。 mysql_field_tell() 返回上次mysql_fetch_field()所使用字段光标的位置。 mysql_free_result() 释放结果集使用的内存。 mysql_get_client_info() 以字符串形式返回客户端版本信息。 mysql_get_client_version() 以整数形式返回客户端版本信息。 mysql_get_host_info() 返回描述连接的字符串。 mysql_get_server_version() 以整数形式返回服务器的版本号。 mysql_get_proto_info() 返回连接所使用的协议版本。 mysql_get_server_info() 返回服务器的版本号。 mysql_info() 返回关于最近所执行查询的信息。 mysql_init() 获取或初始化MYSQL结构。 mysql_insert_id() 返回上一个查询为AUTO_INCREMENT列生成的ID。 mysql_kill() 杀死给定的线程。 mysql_library_end() 最终确定MySQL C API库。 mysql_library_init() 初始化MySQL C API库。 mysql_list_dbs() 返回与简单正则表达式匹配的数据库名称。 mysql_list_fields() 返回与简单正则表达式匹配的字段名称。 mysql_list_processes() 返回当前服务器线程的列表。 mysql_list_tables() 返回与简单正则表达式匹配的表名。 mysql_more_results() 检查是否还存在其他结果。 mysql_next_result() 在多语句执行过程中返回/初始化下一个结果。 mysql_num_fields() 返回结果集中的列数。 mysql_num_rows() 返回结果集中的行数。 mysql_options() 为mysql_connect()设置连接选项。 mysql_ping() 检查与服务器的连接是否工作如有必要重新连接。 mysql_query() 执行指定为“以Null终结的字符串”的SQL查询。 mysql_real_connect() 连接到MySQL服务器。 mysql_real_escape_string() 考虑到连接的当前字符集为了在SQL语句中使用对字符串中的特殊字符进行转义处理。 mysql_real_query() 执行指定为计数字符串的SQL查询。 mysql_refresh() 刷新或复位表和高速缓冲。 mysql_reload() 通知服务器再次加载授权表。 mysql_rollback() 回滚事务。 mysql_row_seek() 使用从mysql_row_tell()返回的值查找结果集中的行偏移。 mysql_row_tell() 返回行光标位置。 mysql_select_db() 选择数据库。 mysql_server_end() 最终确定嵌入式服务器库。 mysql_server_init() 初始化嵌入式服务器库。 mysql_set_server_option() 为连接设置选项如多语句。 mysql_sqlstate() 返回关于上一个错误的SQLSTATE错误代码。 mysql_shutdown() 关闭数据库服务器。 mysql_stat() 以字符串形式返回服务器状态。 mysql_store_result() 检索完整的结果集至客户端。 mysql_thread_id() 返回当前线程ID。 mysql_thread_safe() 如果客户端已编译为线程安全的返回1。 mysql_use_result() 初始化逐行的结果集检索。 mysql_warning_count() 返回上一个SQL语句的告警数。 与MySQL交互时应用程序应使用该一般性原则 1. 通过调用mysql_library_init()初始化MySQL库。库可以是mysqlclient C客户端库或mysqld嵌入式服务器库具体情况取决于应用程序是否与“-libmysqlclient”或“-libmysqld”标志链接。 2. 通过调用mysql_init()初始化连接处理程序并通过调用mysql_real_connect()连接到服务器。 3. 发出SQL语句并处理其结果。在下面的讨论中详细介绍了使用它的方法。 4. 通过调用mysql_close()关闭与MySQL服务器的连接。 5. 通过调用mysql_library_end()结束MySQL库的使用。 介绍常用到的MYSQL相关的C变量类型。这些类型在我们后面定义变量的时候会用到 1、MYSQL 要连接MYSQL必须建立MYSQL实例通过mysql_init初始化方能开始进行连接 示例 MYSQL mysql; #创建MYSQL实例 mysql_init(mysql); #初始化开始进行连接 2、MYSQL_RES 这个结构代表返回行的一个查询的(SELECT, SHOW, DESCRIBE, EXPLAIN)的结果。返回的数据称为“数据集”。 从数据库读取数据最后就是从MYSQL_RES中读取数据。 PS类似于JAVA里面的ResultSet变量一样将结果集存入到此变量中再从它里面去读数据。 3、MYSQL_ROW 这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。行通过调用mysql_fetch_row()获得 4、MYSQL_FIELD 你可以通过重复调用mysql_fetch_field()对每一列获得MYSQL_FIELD结构。这个结构包含字段信息例如字段名、类型和大小。 PS此变量定义的是列的相关属性问题 示例一实现遍历查询select * from table-name 操作 #include windows.h #include mysql.h #pragma comment(lib,libmySQL.lib) int main() { MYSQL mysql; //mysql连接 MYSQL_RES *res; //这个结构代表返回行的一个查询结果集 MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示 char *query; //查询语句 int t,r; mysql_init(mysql); if (!mysql_real_connect(mysql,localhost, root, 123, test,3306,NULL,0)) { printf( Error connecting to database: %s,mysql_error(mysql)); } else printf(Connected...); querySET CHARACTER SET utf8; //设置编码 tmysql_real_query(mysql,query,(unsigned int)strlen(query)); if(t) { printf(编码设置失败); } query select * from a ; tmysql_real_query(mysql,query,(unsigned int)strlen(query)); if(t) { printf(执行查询时出现异常: %s,mysql_error(mysql)); }else printf([%s] 构建成功,query); resmysql_store_result(mysql); while(rowmysql_fetch_row(res)) { /* for(t0;tmysql_num_fields(res);t) { printf(%s ,row[t]); } */ printf(%s,row[1]); 表示查询的第几个字段的也还可以遍历全部字段信息 printf(\n); } mysql_free_result(res); mysql_close(mysql); return 0; } 示例二执行插入、更新、删除操作 #include windows.h #include mysql.h #pragma comment(lib,libmySQL.lib) int main() { MYSQL mysql; //mysql连接 MYSQL_RES *res; //这个结构代表返回行的一个查询结果集 MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示 char *query; //查询语句 int t,r; mysql_init(mysql); if (!mysql_real_connect(mysql,localhost, root, 123, test,3306,NULL,0)) { printf( Error connecting to database: %s,mysql_error(mysql)); } else printf(Connected...); querySET CHARACTER SET utf8; //设置编码 tmysql_real_query(mysql,query,(unsigned int)strlen(query)); if(t) { printf(编码设置失败); } queryinsert into a(name,age) values(w,9); tmysql_real_query(mysql,query,(unsigned int)strlen(query)); if(t) { printf(执行查询时出现异常: %s,mysql_error(mysql)); }else printf([%s] 构建成功,query); mysql_close(mysql); return 0; }