在使用API函数之前需要提前使用指令创建一个数据库
函数功能:链接一个数据库
函数头文件:
链接库:
-lmysqlclient
函数的原型:
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_init()进行初始化
举例:
方式1:
MYSQL A;
mysql_init(&A);
方式2:
MYSQL *a = mysql_init(NULL);
host: 主机名,固定填写'localhost'本地主机
user:访问Mysql的用户 --- "root"
passwd:访问Mysql的密码 -- "1"
db:你要访问的数据库 --- 对应的是数据库名字
port:0
unix_socket :NULL (没用链接网络)
client_flag:0
该函数的返回值:
如果失败返回NULL
如果成功返回的就是第一个参数
举例:
mysql *sql = mysql_init(NULL);//返回值就是初始化好的结构体指针
sql = mysql_real_connect(sql,“localhost”,”root”,”1”,”two_9206”,0,NULL,0);
函数原型:
void mysql_close(MYSQL *mysql)
参数:
mysql:上面的核心结构体
函数的功能:c语言执行数据库的SQL命令语法
函数的原型:
int mysql_query(MYSQL *mysql, const char *query)
函数的参数:
mysql:核心结构体
query:后面跟需要执行的SQL语句,具体的SQL语句参考。
函数的返回值:
成功返回0,失败返回非0
使用顺序:
初始化数据库 MYSQL *sql = mysql_init();
连接数据库 sql = mysql_real_connect(sql,.....);
执行 mysql 的语法 int a = mysql_query(sql,”select * from ACC;”);
获取结果集合: MYSQL_RES *res = mysql_store_result(sql);
函数功能:
MYSQL_RES *mysql_store_result(MYSQL *mysql)
函数的参数:
mysql:就是执行完查询语句后的刚才核心的结构体
函数返回值:
返回值里面封装的就是我们要的结果集合!
这个集合一般需要借助外部的其他函数来获取结果
1-> int mysql_num_fields(MYSQL_RES * res)
返回值就是结果集合的列数
int lie = mysql_num_fields(res);
2-> int mysql_num_rows(MYSQL_RES*res)
返回值就是结果集合的行数(不包括列头);
int hang = mysql_num_row(res);
3->char **mysql_fetch_row(MYSQL_RES *res)
调用一次,获取结果集一行信息,如果查找到多行,要循环调用该函数
指向失败;NULL或错误码
4-> MYSQL_FIELD *mysql_fetch_field(MYSQL_RES*res)
获取一列的列头信息,该函数返回的结构体里面的name。就是我们要找的表头,但是该函数里面name是一个char * 类型,也就是说该函数调用一场,仅仅返回表头中的一列,想要看到整个表头,要一直往后获取,直到取到NULL