mysql資料庫 常用API

2021-10-04 04:51:37 字數 4583 閱讀 6625

mysql *mysql_init(mysql *mysql)
mysql* mysql=mysql_init(mysql *mysql)

; if(mysql==null)

printf(

"mysql init success\n"

);

unsigned mysql_errno(mysql *mysql)

char *mysql_error(mysql *mysql)

mysql *mysql_real_connect(mysql *mysql,                              |

const char* host, |主機名或ip

const char* user, |使用者

const char* password, |使用者密碼

const char* db, |資料庫名稱

unsigned int port, |如果port不是零,將其值作為tcpip的埠使用

const char* unix_socket, | 不是null 應使用的socket或者命名管道

unsigned long client_flag |通常傳零

);

mysql *conn=mysql_real_connect(mysql,"locahost","root","123456","lvke",0,null,0)

; if(conn==null)

int mysql query(mysql* mysql,const char* stmt_str)
/執行sql語句

char

*psql=

"insert into mytest values(5,'bj_cp')"

;int ret=

mysql_query

(mysql,psql);if

(ret!=0)

//如果表有主鍵 則重複插入就會有錯誤

unsigned int mysql_field_count(mysql *mysql) //從mysql局柄中獲取有多少列

unsigned int mysql_num_field(mysql_res *result) //從返回的結果集獲取有多少列

//獲取列數

int num1=mysql_field_count(conn)

; int num =mysql_num_field(result)

;

mysql_field * mysql_fetch_fields(result)

;

/獲取表頭資訊

mysql_field * field=mysql_fetch_fields(result)

; if(field==null)

for(i=0;i

printf(

"\n"

);

mysql_res *mysql_store_result(mysql* mysql)

;mysql_row mysql_fetch_row(mysql_res * result)

;void mysql_free_result(mysql_res* result)

;

//獲取結果集

mysql_res *result=mysql_store_result(conn)

; if(result==null)

//獲取列數

int num1=mysql_field_count(conn)

;//迴圈獲取每一條記錄

mysql_row row;

while(row=mysql_fetch_row(result))

printf(

"\n");

}//釋放結果集

模擬mysql客戶端程式的思路

1:呼叫mysql_init函式進行初始化

2:呼叫mysql_real_connect連線資料庫

3:進入while(

)迴圈 //如果不是quit/exit 那就是sql執行語句

//先判斷是否為select語句

//不是selec語句

if(strncasecmp(sql,"select",6)

!=0)

//是select語句

//獲取列數

//獲取表頭

//列印表頭

//獲取結果集

//解析結構集 獲取每行記錄

while(row=mysql_fetch_row)

} //釋放結果集

mysql_free_result(

) //關閉連線

mysql_close()}

* */

#include

#include

#include

#include

#include

nt main(

) printf(

"mysql init success\n ");

//連線資料庫

mysql *conn=mysql_real_connect(mysql,"locahost","root","123456","scott",0,null,0)

; if(conn==null)

printf(

"mysql connect succ ");

//獲取當前的字符集

printf(

"character-----%s------\n",mysql_character_set_name(conn))

; //設定預設使用的編碼集

mysql_set_character_set(conn,"utf8");

//檢視修改後的字符集

int rec;

int i;

int num;

int len;

char buf[1024]

; //迴圈等待使用者輸入語句

while

//過濾掉buf前面的空格

for(i=0;i

else

} memmove(buf,buf+i,strlen(buf)-i)

; buf[strlen(buf)-i]

='\0'

; printf(

"buf==[%s]\n",buf)

;

//判斷使用者輸入是否為exit或者quit

if(strncasecmp(sql,"quit",4)

==0 ||strncasecmp(sql,"exit",4))

//執行sql語句

int ret=mysql_query(conn,buf);

if(ret!=0)

//判斷是否為select語句

//不是:只列印影響的行數

if(strncasecmp(buf,"select",6)

!=0)

//是select語句

//獲取結果集

mysql_res *result=mysql_store_result(conn)

; if(result==null)

//獲取列數

num=mysql_num_fields(result)

; //獲取表頭資訊

mysql_field *fields=mysql_fields(result)

; if(fields==null)

//列印表頭

for(i=0;i

printf(

"\n");

//釋放j結構集

mysql_free_result(result)

; mysql_row row;

while(row=mysql_fetch_row(result))

printf(

"\n");

}}mysql_close(conn)

;return 0;

}

mysql資料庫常用

mysql hlocalhost p3306 uroot p 進入cmd use php2016 指定預設的運算元據庫 set names gbk 告訴伺服器當前客戶端的編碼為gbk show databases 檢視當前有哪些資料庫 show tables 查詢當前資料庫下有哪些資料表 drop ...

C 連線MySQL資料庫(利用API)

一般c c 與資料庫相連有兩種方法。用odbc,ado,jdbc等這些介面,利用裡面的方法來進行與資料庫的連線,簡化對資料庫的操作,方便對資料庫進行管理。不過注意的是c c 也可以用jdbc來與資料庫相連線,不過很彆扭而已。第一種方法,除了安裝所需的資料庫之外,還需要安裝相對應的介面,就是上面所說的...

C語言操作Mysql資料庫API

1 功能 獲得或初始化乙個mysql結構 所需標頭檔案 include 函式原型 mysql mysql init mysql mysql 函式返回值 乙個被始化的mysql 控制代碼 備註 在記憶體不足的情況下,返回null2 函式功能 連線乙個mysql伺服器 1 所需標頭檔案 include ...