mysql學習之路_基礎知識


                Mysql

php階段將數據庫分為三個階

基礎階段:

mysql數據庫的基本操作(增刪改查),以及一些高級操作(視圖,觸發器,函數,存儲過程等),PHP操作沒有sql數據庫。

優化階段:

如何提高數據庫效率,如索引,分表等。

部署階段:

如何搭建真實的系統環境,如服務集群,負載均衡。

 

 

 

數據庫基礎

什么是數據庫:

數據庫:database ,存儲數據的倉庫(高效的存儲和處理數據庫的介質如磁盤、內存)

數據庫分類:

1,關系型數據庫:(sql型)

2,非關系型數據庫(nomysql型)not only

不同數據卡產品:

關系型數據庫:大型:Oracle DB2

              中型:SQLserverMysql

              小型:access

非關系型數據庫:mencahedmoogodbredis2

數據庫的區別->兩種陣營

關系型database:安全(保存在磁盤,不會丟失),浪費空間。

非關系型數據庫:效率高(不夠安全)

關系型數據庫:

1,什么是關系型數據庫:

建立在關系模型上的數據庫(數學模式)

關系模型:建立在關系上的模型,三個方面。

1,數據結構:數據存儲問題,二維表的行列結構

2,Sql指令集合:sql語句。

3,完整性約束:表內數據約束,表與表之間的約束。

2,關系型數據庫的設計:

關系型數據庫:從需要存儲的數據需求分析,如果是一類數據(實體)->設計成二維表->表頭(字段名field)和數據部分(實際存儲單元);

二維表:行與列,

例:

表頭

字段1

字段2

字段3

數據單元

數據1

數據2

數據3

 

 

實際案例:教師負責講學,教學生,在教室。

1,找出實體。教師表,學生表,教室表。

2,找出實體數據信息: (教師)姓名,性別,年齡,工資

                    (學生)姓名,性別,年齡,學號

                  (班級)班級編號,教室號

3,關系型數據庫:維護實體內部、實體與實體之間的聯系。

1,實體內部的聯系:每個學生都有姓名、性別、學科、學號。

 

                   學生表

 

姓名

性別

學號

學科

班名

張三

001

軟件工程

軟件工程001

小強

001

機械工程

機械工程001

 

                   

第二行所有字段:都是在描述張三這個學生(內部聯系)第二列只能是性別(內部約束)。

 

關系型數據庫特點之一:如果表對應的某個字段沒有值(數據),但是系統依然要分配存儲空間;關系型數據庫比較浪費空間。

 

實體與實體之間的聯系:每個學生肯定屬於某個班級,每個班級肯定有多個學生。

班名

教室編號

軟件工程001

001

機械工程001

002

 

                

 

班級實體與學生實體之間的聯系:實體與實體之間的聯系

 

3,關鍵字說明:

數據庫:database

數據庫系統:DBS database system):虛擬系統,將多種內容關聯起來的稱呼

DBS=DBMS+DB

DBMS:database mangerment system數據庫管理系統,專門管理數據庫。

DBAdatabase Administrator 數據庫管理員。

 

/記錄:row/record本質是一個東西->表中的一個記錄,行是從結構角度出發,記錄從數據角度出發。

/字段 column/filed,本質是一個東西。

 

SQL

Structured Query language(結構化查詢語言)數據庫以查詢為主,98%都是查詢操作。

SQL分為三個部分:

DDLdata Definition Language 數據定義語言-->用來維護存儲數據的結構(數據庫,表)

代表指令:create drop alter

DMLdata manipulation Language 數據庫操作語言-->用來對數據進行操作(數據表中的內容)

代表指令:insert delete updata等其中DML內部又進行分類:DQLdatabase Query Language)數據查詢語言,如select

DCLdata contral Language 數據控制語言-->主要負責權限的管理(用戶)

代表指令:grant revoke等。

 

 

SQL簡介:

Sql是關系型數據庫的操作指令

Sql是一種約束,但不強制(類似玩w3c組織)如Oraclemysql內部有細微的區別。

 

Mysql

Mysql數據庫是一種c/s結構,客戶端/服務端若想要訪問服務器必須通過客戶端(服務器一直運行,客戶端在需要的時候運行),

 

交互方式

1,客戶端連接認證:連接服務器認證身份

2,發送sql指令

3,服務器接受服務器指令,處理sql指令返回操作結果。

4,客戶端接受操作結果,顯示結果。

5,斷開連接(釋放資源,服務器並發限制)。

 

Mysql服務器對象

沒有辦法完全理解服務器內部的內容:

只能粗略的分析數據庫服務器內部結構

mysql數據庫分為四層:

系統(DBMS)->數據庫(BD)->數據表(table)->字段(filed

 

 

SQL基本操作:

基本操作:CRUD

sql的基本操作根據對象分為三類

1,庫操作2,表操作3,數據操作

庫操作:

數據庫的增刪改查。

新增數據庫:create database 庫名 [庫選項]

 

庫選項:約束數據庫,分為兩個選項。

字符集的設定:charset /character set +具體字符集(數據存儲的編碼格式,一般兩種格式GBKutf8

校對集設定:collate +具體校對集(數據庫比較規則)

-- 雙中下划線注釋(單行注釋,也可以用#

其中數據庫不能用關鍵字(已經被使用的字符或保留字(將來可能會用到))。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM