1. 程式人生 > >Linux程式設計筆記第八章 MySQL

Linux程式設計筆記第八章 MySQL

1、關係型資料庫管理系統 RDBMS,PostgreSQL   MySQL

2、儲存引擎:InnoDB   MyISAM 資料儲存的底層實現程式

3、安裝mysql,包括伺服器、client、navigator  主要包括這三個部分

Linux作為LAMPLAMP作業系統,Apache和Nginx作為Web伺服器,MySQL作為資料庫,PHP/Perl/Python作為伺服器端指令碼直譯器。由於這四個軟體都是免費或開放原始碼軟體(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩定、免費的網站系統,被業界稱為“LAMP“組合[

4、在MYSQL 中,用遠端軟體登陸伺服器,有時出現:Access denied for user 

'root'@'localhost' 出現這種問題,主要的原因就是許可權配置的時候 沒有配置正確。當用Linux/unix的tty 登陸進MYSQL 時, mysql -u root -p 會提示你輸入密碼,輸入正確的密碼後正常登陸。

5、sql可以設定為是否需要密碼,是否只能從本地登入

mysqlshow

mysql

grant 建立使用者;

revoke刪除使用者

建立資料庫 CREATE DATABASE rick

6、資料型別:布林型別、字元型別、數值型別、時間型別

7、創將表的基本語法CREATE TABLE <table_name>

( column type [NULL | NOT NULL ]  [AUTO_INCREMENT]  [PRIMARY KEY]

)

AUTO_INCREMENT     在該列中寫入NULL 時,都會自動把一個自動分配的遞增數字填入列資料中

NULL 是否能儲存null值 

PRIMARY KEY 列資料必須是唯一的,每行中對應該列的值都應不同,每個表只能有一個主鍵

資料定義語言

8、語法

A 、建立表

CREATE table children(

childno INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,    註釋:列名,型別,三個關鍵值

fname VARCHAR(30),     註釋:列名,型別

age INTEGER      註釋:列名、型別

);

B 、新增列資料:

INSERT INTO children(fname,age) VALUES("jenny",21);   因為第一列選擇了可以自動填充,所以可以不填

9、 C語句 

 mysql_init(MYSQL *)   初始化連線控制代碼

mysql_real_connect 連線資料庫

mysql_close 關閉連線

mysql_options  設定連線屬性

錯誤處理 mysql_errno

mysql_error

執行mysql_query

mysql_store_result

mysql_num_rows

10、MYSQL my_connection;
MYSQL_RES *res_ptr;
MYSQL_ROW sqlrow;

11、編譯gcc -I/usr/include/mysql  select4.c  -L/usr/lib/mysql  -lmysqlclient  -o client

12、

在安裝opensip的時候,發現編譯不通過,說是,找不到mysql.h這個檔案,然後ls /usr/include/mysql發現沒有這個資料夾,

然後google,終於發現了方法:sudo apt-get install libmysqlclient16-dev

裝好了就能看到mysql資料夾裡有 mysql.h