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資料庫的例子: