Linux c訪問mysql 編寫入門

2022-07-29 18:21:10 字數 2745 閱讀 1595

一) 前置條件:(1)       linux 已經安裝好 mysql 資料庫;

(2)       linux 已經安裝了 gcc 編譯器;

(二)資料庫準備:

為了便於描述,假設資料庫的 root 使用者密碼為 root_pwd 。

(1)       以 root 使用者登陸資料庫

#mysql -uroot –proot_pwd

mysql>

(2)       建立資料 testdb

mysql> create database testdb;

(3)       建立表

mysql> use testdb;

mysql> create table t_users(userid int not null, username varchar(20) not null);

(4)       向表中插入一條記錄

mysql> insert into t_users(userid, username) values(1, 'hudennis');

(5)       建立使用者

mysql> create user testdb_user;

(6)       對使用者授權

mysql> grant select, insert, update, delete on *.* to 'testdb_user'@'localhost' identified by '123456';

mysql> flush privileges;

(7)       檢視使用者及該使用者的許可權

mysql> use mysql;

mysql> select user from user;

mysql> show grants for testdb_user@localhost;

(8)       [ 備用 ] 刪除資料庫及使用者

mysql> drop database testdb;

mysql> show databases;

mysql> drop user testdb_user;

mysql> drop user testdb_user@localhost;

(三) c 源** testdb.c 準備:

view plain

copy to clipboard

print

?#include

#include

#include

static char *server_options = ; 

int num_elements = sizeof(server_options)/ sizeof(char *); 

static char *server_groups = ; 

int main(void) 

mysql *conn; 

mysql_res *res; 

mysql_row row; 

char *server = "localhost"; 

char *user = "testdb_user"; 

char *password = "123456"; 

char *database = "testdb"; 

conn = mysql_init(null); 

/* connect to database */ 

if (!mysql_real_connect(conn, server, 

user, password, database, 0, null, 0)) 

/* send sql query */ 

if (mysql_query(conn, "select userid, username from t_users")) 

if ((res = mysql_use_result(conn)) == null) 

int num = mysql_num_fields(res); 

while ((row = mysql_fetch_row(res)) != null) 

printf("/n"); 

}  /* close connection */ 

mysql_free_result(res); 

mysql_close(conn); 

/* use any mysql api functions here */ 

mysql_server_end(); 

return exit_success; 

}  

(四) c 程式編譯與執行:

(1) 編譯 testdb.c

# gcc testdb.c -i/usr/local/mysql/include -l/usr/local/mysql/lib -lmysqlclient

注意: -i 和 -l 的路徑應該根據 mysql 的安裝路徑不同而應該有所不同。同理,下面的 ld_library_path 變數一樣。

(2) 將庫檔案路徑加入到 ld_library_path 環境變數中去

# ld_library_path =$ld_library_path:/usr/local/mysql/lib

(3) 執行編譯得到的可執行檔案 a.out

#./a.out

1 hudennis

Linux C程式設計Makefile編寫初步

假設我們有下面這樣的乙個程式,源 如下 main.c include mytool1.h include mytool2.h int main int argc,char argv mytool1.h ifndef mytool 1 h define mytool 1 h void mytool1 ...

Linux C 使用指標訪問成員

在linux用c程式設計,很多時候都會碰到結構體這個概念,尤其是使用指標訪問結構體成員。下面的文字介紹,請參考 理解 1.使用乙個新運算子 這個運算子有乙個連線號 後跟乙個大於符號 組成 struct guy him him fellow 0 him income 2.如果 him fellow 0...

Linux C命令編寫 my chmod的實現)

在linux中我們可以用chmod命令進行修改檔案的許可權 ycl ycl pc desktop ls l rwxr xr x 1 ycl ycl 17080 3月 221 23 a.out rwxr xr x 1 ycl ycl 16672 3月 220 06 my chmod rwxrwxrwx...