【Mysql】C语言连接Mysql简单操作
                
1. 分配或初始化与mysql_real_connect()相适应的MYSQL对象
MYSQL* mysql_init(MYSQL* mysql);
成功返回初始化的MYSQL*句柄,如果没有足够内存分配新的对象,则返回NULL
2.连接数据库引擎
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结构的地址
 - host:主机名或IP地址,若为localhost或127.0.0.1表示与本地主机进行连接
 - user:用户登录Mysql的ID,若为NULL或空字符串,用户将被视为当前用户
 - passwd:用户登录Mysql的密码
 - db:用户使用的数据库名称,若db为NULL,连接会将默认的数据库设置为该值
 - port:数据库使用的端口号,若port不为0,其值将用作TCP/IP连接的端口号
 - unix_socket:若unix_socket不是NULL,该字符串描述了应使用的套接字或命名管道。
 - client_flag:通常为0,指定特定功能
 - 返回值: 如果连接成功,返回MYSQL*连接句柄。如果连接失败,返回 NULL
 
3.查询数据库中某个表的内容
int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)
参数解释
- mysql:已经定义的MYSQL结构的地址
 - query:SQL语句
 - SQL语句长度
 - 返回值:如果查询成功,返回0。如果出现错误,返回非0值。
 
4.获取3中查询到的数据
MYSQL_RES *mysql_store_result(MYSQL *mysql)
返回值:具有多个结果的MYSQL_RES结果集合,如果出现错误,返回 NULL
5.获取多行结果的一行内容
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
- result:具有多个结果的MYSQL_RES结果集合
 - 返回值:检索结果集的下一行,在mysql_store_result()之后使用时,如果没有更多的行可检索时,返回 NULL
 
6.获取结果集中行的数目
int mysql_num_rows(MYSQL_RES *res)
注意:
- 如果使用mysql_store_result(),mysql_num_rows()可以马上被调用。
 - 如果使用mysql_use_result(),mysql_num_rows()将不会返回正确的值,直到在结果集合中的所有行均被检索了。
 - 此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
 
7.释放内存
void mysql_free_result(MYSQL_RES *result)
释放mysql_store_result()、mysql_use_result()等函数调用生成的结果集使用的内存
8.关闭Mysql连接
void mysql_close(MYSQL *mysql)
                    