大数据学习+数据库知识mysql我爱编程

MySQL数据库:使用mysql(Ubuntu)

2017-06-14  本文已影响142人  虞锦雯
一、MySQL安装
(一)安装mysql服务端
sudo apt-get install mysql-server
(二)安装图形开发界面
sudo apt-get install mysql-workbench
(三)安装mysql开发包
sudo apt-get install libmysqlclient-dev
二、API
(一)MYSQL

该结构代表1个数据库连接的句柄。几乎所有的MySQL函数均使用它。

(二)MYSQL_RES

该结构代表返回行的查询结果(SELECT, SHOW, DESCRIBE,EXPLAIN)。

(三)MYSQL_ROW

这是1行数据的“类型安全”表示。它目前是按照计数字节字符串的数组实施的。(如果字段值可能包含二进制数据,不能将其当作由Null终结的字符串对待,这是因为这类值可能会包含Null字节)。行是通过调用mysql_fetch_row()获得的。

(四)MYSQL_FIELD

该结构包含关于字段的信息,如字段名、类型和大小。通过重复调用mysql_fetch_field(),可为每个字段获得MYSQL_FIELD结构。字段值不是该结构的组成部份,它们包含在MYSQL_ROW结构中。

(五)MYSQL_FIELD_OFFSET

这是MySQL字段列表偏移量的“类型安全”表示(由mysql_field_seek()使用)。偏移量是行内的字段编号,从0开始。

三、mysql常用API
(一)mysql_init()
MYSQL *mysql_init(MYSQL *mysql)
(二)mysql_real_connect()
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_real_query()
int mysql_real_query(
MYSQL *mysql, 
const char *query, 
unsigned long length
)
(四)mysql_store_result()
MYSQL_RES *mysql_store_result(MYSQL *mysql)
(五)mysql_use_result()
MYSQL_RES *mysql_use_result(MYSQL *mysql)
(六)mysql_fetch_row()
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
(七)mysql_free_result()
void mysql_free_result(MYSQL_RES *result)
(八)mysql_error()
const char *mysql_error(MYSQL *mysql)
(九)mysql_close()
void mysql_close(MYSQL *mysql)
四、一个简单的C++程序
#include <mysql/mysql.h>
#include <iostream>
using namespace std;
MYSQL *conn;MYSQL_RES *res;MYSQL_ROW row;
int main(int argc,char **argv)
{
    const char *sever = "localhost"; //主机
    const char *user = "root"; //用户名
    const char *password = "XXXXXX"; //用户密码
    const char *database = "database_name"; //数据库名称
    conn = mysql_init(NULL);
    if(!mysql_real_connect(conn,sever,user,password,database,0,NULL,0))
    {
        cout << "connect error" << endl;
        return 0;
    }
    mysql_set_character_set(conn,"utf8");
    if(mysql_query(conn,"select * from emp"))
    {
        cout << "query error" << endl;
        return 0;
    }
    //res = mysql_store_result(conn);
    res = mysql_use_result(conn);
    while((row = mysql_fetch_row(res)) != NULL)
    {
        cout << row[0] << '\t' << row[1] << '\t' << row[2] << '\t' 
             << row[3] << '\t' << row[4] << endl;
    }
    mysql_free_result(res);
    mysql_close(conn);
    return 0;
}

显示结果:


显示结果.png
上一篇 下一篇

猜你喜欢

热点阅读