天天看點

Linux C語言操作MySQL

1.MySQL資料庫簡介

MySQL是一個開源碼的小型關系資料庫管理系統,體積小,速度快,總體成本低,開源。MySQL有以下特性:

(1) 使用C和C++編寫,并使用了多種編譯器進行測試,保證源碼的可移植性。

(2) 支援多線程,利用CPU資源,支援多使用者。

(3) 可以處理擁有上千萬條記錄的大型資料庫。

(4)既可以作為一個單獨的應用程式應用在用戶端伺服器網絡環境中,也能夠作為 一個庫而嵌入到其他軟體中去。

2. MySQL資料庫的安裝 安裝MySQL資料庫需要三個軟體包:

(1)伺服器

(2)用戶端

(3) 開發庫-如果用C或C語言開發,就得安裝開發庫。

MySQL-server-5.5.8-1.rhel5.i386.rpm

MySQL-client-5.5.8-1.rhel5.i386.rpm

MySQL-devel-5.5.8-1.rhel5.i386.rpm 在Linux下用rpm -ivh 安裝即可。

3. MySQL的相關目錄

/usr/bin MySQL用戶端程式或腳本

/usr/sbin mysqld伺服器相關程式

/var/lib/mysql 日志檔案,資料庫資料檔案存放目錄

/usr/share/doc/packages 使用手冊,開發文檔存放目錄

/usr/include/mysql 接口函數庫頭檔案存放目錄

/usr/lib/mysql 接口函數動态連結庫存放目錄

/usr/share/mysql 錯誤消息和字元集檔案存放目錄

/usr/share/sql-bench 基本程式存放目錄

4. MySQL資料庫的基本操作

(1)啟動MySQL伺服器 service mysql start

(2) 停止MySQL伺服器 service mysql stop

(3)root使用者指的是MySQL資料庫下的root目錄而不是Linux下的root使用者

為root使用者添加密碼: mysqladmin -u root password 123 //為root使用者添加了新密碼123

修改root使用者密碼為234: mysqladmin -u root -p password 234

Enter password:

或者是: mysqladmin -u root -p password

New password:

Confirm new password:

(4)建立資料庫和表

首先進入使用者下,如在root使用者下建立一個db_record的資料庫: mysql -u root -p

create database db_record

然後切換到目前資料庫下,建立表: use db_record create table friends ( name Char(15),telephone VarChar(20));

最後向表中插入資料 insert into friends (name,telephone) Values ("john","222");

查詢: select * from friends;

(5)建立,删除使用者及授權

insert into mysql.user(Host,User,Password) values("localhost","min",password("123"));

 flush privileges; //重新整理權限清單

grant all privileges on tree.* to min@localhost identified by '123'; //授權min使用者擁有tree資料庫的所有權

 也可以: grant select, insert,update,delete on db_record.* to min@localhost identified by '123';

 删除使用者: 将該使用者的記錄從MySQL資料庫删除:

use mysql //切換資料庫

delete from user where user='min' and host='localhost'; //删除min使用者的記錄

flush privileges; //重新整理權限

5. C語言操作MySQL資料庫

步驟:

(1)初始化MySQL庫,庫可以是mysqlclient C用戶端庫,或mysqld嵌入式伺服器庫,函數 mysql_library_init(),對于與用戶端連結的應用程式,提供了改進記憶體管理的功能。

(2)初始化連接配接處理程式 mysql_init();主要是用來初始化資料庫辨別符,為連接配接準備

(3)連接配接到MySQL伺服器,mysql_real_connect()函數。

(4) 調用 mysql_close()關閉與MySQL伺服器的連接配接

(5)調用mysql_library_end()函數結束MySQL庫的使用,包括釋放記憶體,防止記憶體洩露等操作。

下面是用C語言操作MySQL資料庫的例子: