mysql資料庫一些基本的api操作

2021-09-26 21:04:42 字數 2524 閱讀 1088

使用mysql介面運算元據庫

1包含mysql提供的標頭檔案mysql.h

2包含mysql的libmysql.lib和libmysql.dll動態庫

#include之前一定要加上#include否則會產生如下錯誤:

**例子如下

#include #include //在工程屬性中設定好標頭檔案路徑,可以拷貝到工程目錄直接設定當前路徑(.\***)

using namespace std;

#pragma comment(lib, "libmysql.lib")//在工程屬性中設定好標頭檔案路徑,可以拷貝到工程目錄直接設定當前路徑(.\***)

int main()

;  char name[50] = ;

char cid[50] = ;

//初始化

if (mysql_init(&mysql) == nullptr)

return 0;

//設定字符集,支援中文編碼,注意不過資料插入後最終還是預設是utf-8會自動轉換

if (mysql_options(&mysql, mysql_set_charset_name, "gbk") != 0)

//連線資料庫伺服器

if (mysql_real_connect(&mysql, "localhost", "root", "root",

"student", 3306, nullptr, 0) == nullptr)

printf("connect success\n");

//插入資料

sql = "insert into t_student values('s100', '測試', 'cr001')";

//執行mysql語句

result = mysql_query(&mysql, sql.c_str());

if (result == 0)

else

//刪除資料

sql = "delete from t_student where student_id = 's100'";

result = mysql_query(&mysql, sql.c_str());

if (result == 0)

else

//修改

sql = "update t_student set student_name='測試'  where student_id = 's001'";

result = mysql_query(&mysql, sql.c_str());

if (result == 0)

else

//查詢,用where 1=1這個小技巧是為了不用寫一些冗餘的判斷條件,這樣可以一條sql語句組合所有的條件,不然還有判斷那個字段是否輸入

sql = "select * from t_student where 1 = 1 ";

if (strlen(sid)>0)

if (strlen(name)>0)

if (strlen(cid)>0)

//執行sql語句

result = mysql_query(&mysql, sql.c_str());

if (result == 0)

else

//儲存查詢結果到res

res = mysql_store_result(&mysql);

if (res == nullptr)

//列印字段

//從res結果中獲取欄位的數量

field_count = mysql_num_fields(res);

//從res結果中獲取欄位的屬性,如欄位名稱,獲取的是乙個結構體陣列

field = mysql_fetch_fields(res);

for (int i = 0; i < field_count; i++)

printf("\n");

//第二種方式獲取字段方式

//field = mysql_fetch_field(res);

//while (field != nullptr)

////這個執行函式可以包含二進位制資料,因為二進位制數有包含』\0『字元,mysql_query執行不了包含二進位制的語句

//mysql_real_query();

//從res結果中獲取一行資料,遍歷獲取所有資料

row = mysql_fetch_row(res);

while (row != nullptr)

safe_exit:

//釋放查詢結構

if (res != nullptr)

mysql_free_result(res);

mysql_close(&mysql);

return 0;

}

MySQL資料庫的一些基本語法

拓展 所知道的資料庫 關係型資料庫 oracle db2 sqlserver mysql 都比不上上面這些。實際使用功能足夠 開源 意味著不收費 企業 運營成本考慮 目前 mysql資料庫 mysql.com 正經的有oracle公司維護 和主權 mariadb org 是由martin維護的開源資...

MySQL資料庫 資料庫的一些基本概念

網路上關於資料庫的配置的文章有很多了,這裡就只記錄一些可能出現的問題 1 安裝完成資料庫之後,需要開啟3306的埠 2 mysql8.0修改密碼的語句和5.0版本的有點不一樣,在網上找的時候得看對了版本 3 遠端登入要記得關閉服務端的防火牆 4 workbench只是乙個視覺化的工具 1 伺服器端 ...

java對mysql資料庫的一些基本操作

閱讀數 29 string tablename 表名 string sql select from tablename 連線資料庫獲取connection 一般單獨寫在乙個工具類 connection conn jdbcmysql.getconnection preparedstatement st...