關於mysql的基礎知識可以參考 mysql基礎
首先,需要確保已安裝mysql-server,mysql-client,mysql-devel。
1. mysql
用於定義乙個mysql物件,便於後續操作確定要操作的資料庫是哪乙個。
mysql mysql; //mysql標記對應某個資料庫
2. mysql_row
用於定義乙個行物件,其內容含有一行的資料。
mysql_row row; //row[i]可用於輸出該行第i個字段的資料
用於定義乙個儲存字段資訊的物件。
mysql_field *field; //field->name儲存對應欄位名稱
用於定義乙個儲存資料庫檢索資訊結果的物件。
mysql_res *result;
其實在操作mysql資料庫時,最常使用的函式有以下幾個:
1. mysql_init()
用於初始化乙個mysql物件,來連線mysql服務端。
mysql *mysql_init( mysql *mysql );
//example
mysql mysql;
mysql_init( &mysql );
2. mysql_real_connect()
用於連線資料庫
mysql *mysql_real_connect (
mysql *mysql, //初始化的mysql物件,與mysql_init()對應
const
char *host, //主機位址
const
char *user, //使用者,例如:root
const
char *passwd, //資料庫的密碼
const
char *db, //要連線的資料庫,例如:student
unsigned
int port, //埠,可填0
const
char *unix_socket, //一般為null
unsigned
long client_flag); //一般為0
//example
mysql_real_connect( &mysql, "localhost", "root",
"mypasswd", "student", 0, null, 0 );
3. mysql_query()
用於執行mysql命令。其引數應使用c風格字串。
mysql_query( mysql *mysql, char * command );
//example
string
command = "select * from info";
mysql_query( &mysql, command.c_str() );
4. mysql_store_result()
用於獲取mysql操作的檢索結果。
mysql_res *mysql_store_result(mysql *mysql);
//example
mysql_res *result;
result = mysql_store_result( &mysql );
5. mysql_num_rows()
用於獲取結果集的行數。
mysql_num_rows( mysql_res *result );
6. mysql_num_fields()
用於獲取結果集的字段數。
mysql_num_fields( mysql_res *result );
//example
int row_num;
row_num = mysql_num_fields( result );
7. mysql_fetch_field()
用於獲取下乙個欄位的型別。
mysql_field* mysql_fetch_field(mysql_res *result);
8. mysql_fetch_row()
從結果集中獲取下一行,結束返回null。
mysql_row mysql_fetch_row(mysql_res *result);
//example
mysql_row row;
while( row = mysql_fetch_row( result ), row != null )
cout
<< endl;
}
9. mysql_fetch_field_direct()
給定字段序號,返回字段型別,結束返回null。
mysql_field* mysql_fetch_field_direct(mysql_res *result, int i);
//example
int num = mysql_num_fields( result ); //返回字段個數
for( int i = 0; i < num; i++ )
cout
<< endl;
10. mysql_close()
用於關閉連線。
mysql_close( mysql *mysql );
#include
#include
#include
using
namespace
std;
class mysqldb
}~mysqldb()
void connect( string host, string user, string passwd, string database )
}void add();
void print();
};void mysqldb::add() while( id == "y" );
}void mysqldb::print()
int num;
num = mysql_num_fields( result ); //返回字段個數
for( int i = 0; i < num; i++ )
cout
<< endl;
while( row = mysql_fetch_row( result ), row )
cout
<< endl;
}}int main()
參考: Linux下利用Docker搭建MYSQL5 7
1 建立mysql配置目錄 建立配置目錄 mkdir p etc mysql conf.d 建立資料和日誌目錄 mkdir pv opt mysql 2 修改my.cnf配置 輸入 sudo vim etc mysql conf.d my.cnf,新增如下內容 mysqld default stor...
linux下用cmake編譯安裝mysql
編譯 linux下用cmake編譯安裝mysql 5.6.35 安裝cmake sudo pacman s cmake wget tar zxvf mysql 5.6.35.tar.gz cd mysql 5.6.35 建立資料存放目錄 mkdir p vhs mysql mysql56 建立使用者...
linux環境下安裝mysq5 7
mysql安裝目前有三種方式 bin包 原始碼 rpm包。2 安裝依賴庫 shell yum search libaio shell yum install libaio y 3 建立資料庫專用賬號 useradd r s sbin nologin mysql4 清空系統中原有配置檔案 mariad...