小白学编程之数据库连接
有时候我们写完一段代码,需要保存这段代码输出的数据,除了将数据通过open、write、read、close的方法写入到对应的文件中,还有没有别的方法呢,这就要牵涉到今天的内容:数据库,当然咱们的重点不是介绍数据库,而是怎么连接数据库。
1、定义MYSQL类型的变量
MYSQL mysql; //定义一个MYSQL类型的变量
2、初始化句柄
MYSQL STDCALL mysql_init(MYSQL* mysql);
参数说明:
mysql : 句柄地址
返回值:
成功返回句柄地址;
失败返回NULL;
3、连接数据库
MYSQL* STDCALL mysql_real_connect(MYSQL* mysql, \
const char* host, \
const char* user, \
const char* passwd,\
const char* dp, \
unsigned int port,\
const char* unix_socket,\
unsigned long clientflg);
参数说明:
mysql:已初始化的句柄地址
host:ip地址,如果是本机连接,可以直接写“localhost”
user:操作的数据库用户名
passwd:该用户的密码
dp:需要操作的库名
port、unix_socket、clientflag:0、NULL、0
返回值:
成功返回句柄地址
失败返回NULL
4、发送sql语句
int STDCALL mysql_query(MYSQL* mysql, const char* q);
参数说明:
mysql:句柄地址
q:sql语句(增删改查)
如果不知道数据库的sql语句可以自己百度这里就不再过多赘述
连接数据库和发送sql语句之后可能会需要用到一些辅助函数,下面就是列举的一些比较常见的辅助函数
a、输出错误信息:
const char* STDCALL mysql_error(MYSQL* mysql);
b、设置字符集(数据库的中文设置,防止输人的数据无法识别)
int STDCALL mysql_set_cahracter_set(MYSQL* mysql, const char* csname);
c、获取结果集的起始地址
MYSQL_RES* STDCALL mysql_store_result(MYSQL* mysql);
d、记录当前表的行数
my_ulonglong STDCALL mysql_num_rows(MYSQL_RES* res);
e、记录当前表的列数
unsigned int STDCALL mysql_num_fields(MYSQL_RES* res);
f、获取每一行的数据,并返回下一行数据
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES* res);
g、释放结果集的内存
void STDCALL mysql_free_result(MYSQL_RES* res);
5、关闭数据库
void STDCALL mysql_close(MYSQL* sock);
参数说明:
sock:句柄地址
以上就是终端和数据库连接最基础的方法,仅供参考