MySQL儲存結構及SQL分類
MySQL目錄結構
bin —- mysql執行程式
docs —- 文件
share — 各國編碼資訊
data —- 存放mysql 資料檔案
* 每個資料庫 建立一個同名資料夾,.frm 存放table表結構、ibdata1存放mysql中所有資料表資料記錄
* 在資料庫每個資料夾中存在db.opt —- 儲存資料預設編碼集
(一)連線MySQL
mysql -h 主機ip -P 埠號 -u root -p 回車 輸入密碼;
如果是連線本機的話,可以是:
格式: mysql -h 主機地址 -u 使用者名稱 -p 使用者密碼
1、例1:連線到本機上的MYSQL。
首先在開啟DOS視窗,然後進入目錄 mysql bin,再鍵入命令mysql -uroot -p,回車後提示你輸密碼,
2、例2:連線到遠端主機上的MYSQL。假設遠端主機的IP為:110.110.110.110,使用者名稱為root,密碼為abcd123。則鍵入以下命令:
mysql -h 110.110.110.110 -uroot -p abcd123
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令: exit (回車)。
(二)MySQL資料庫內部構造
關係化資料庫模型結構
MySQL資料庫伺服器、資料庫和表的關係
- 所謂安裝資料庫伺服器,只是在機器上裝了一個數據庫管理程式,這個管理程式可以管理多個數據庫,
- 為儲存應用中實體的資料,一般會在資料庫建立多個表,以儲存程式中實體的資料。
- 資料庫伺服器、資料庫和表的關係如上圖所示:
1.在一個MySQL伺服器上,可以使用多個數據庫database,安裝mysql後,自帶兩個資料庫 mysql、test:
mysql 存放資料核心資料 —– 使用者、許可權 …
test 練習資料庫, 預設該資料庫空的
2.使用者操作資料庫(資料表)需要許可權,需要對使用者進行授權。在資料庫中存在很多使用者,預科每個使用者會具有相應的許可權,有了許可權就可以操作資料庫、資料表中的資料。所有資料庫裡面都自帶一個root使用者,預設是管理員賬戶,具備資料庫中的所有許可權,即可以操作所有庫和所有表。
3、資料在資料庫中儲存在資料表中:
java程式中的一個物件,對應資料表中的一行(一條記錄)
MySQL資料庫組成小結
1、在mysql資料庫軟體內部建立使用多個數據庫 database
2、在每一個數據庫database中建立使用多個數據表 table
3、table存放資料記錄,一條資料記錄,對應java程式中一個物件
4、在資料庫中存在很多使用者,使用者根據相應許可權操作資料庫或者資料表
(三)SQL語言
SQL(Structured Query Language),結構化查詢語言
1.非過程性語言- - - - - 每一條SQL語句都是獨立執行的,sat培訓沒有先後依賴關係
上面程式典型過程性語言 ,定義值之後會得到儲存,並且中間有一個執行過程。
2.官方提供資料庫標準語言 —- 任何資料庫都必須支援SQL語法
由於SQL的非過程性的特點,因此功能不夠強大,很多資料庫的內部都對SQL語言進行了加強,並且都提供了過程性的特徵,可以利用其程式設計。
3.SQL分類
SQL是用來存取關係資料庫的語言,具有查詢、操縱、定義和控制關係型資料庫的四方面功能:
- DDL (資料定義問題):定義、修改、刪除 資料庫內部結構
資料定義語言 - Data Definition Language
用來定義資料庫的物件,如資料表、檢視、索引等
例如 : 對資料庫、資料表定義、修改、刪除 以上操作 - DML (資料操縱問題):對資料表記錄 增加、刪除、修改
資料處理語言 - Data Manipulation Language
在資料庫表中更新,增加和刪除記錄
例如 update, insert, delete - DCL (資料控制問題):使用者授權、if 、while、事務管理
資料控制語言 – Data Control Language
指用於設定使用者許可權和控制事務語句
例如grant,revoke,if…else,while,begin transaction - DQL (資料查詢問題):select查詢語句
資料查詢語言 – Data Query Language
例如select