當前位置:吉日网官网 - 傳統文化 - 數據庫基礎知識——Mysql

數據庫基礎知識——Mysql

數據庫基礎知識——Mysql包括什麽是數據庫、、主流數據庫、MySQL架構、、服務器,數據庫,表之間的關系、、使用數據庫、、SQL分類、存儲引擎。

1、什麽是數據庫

數據庫是用來存儲數據的。那麽我們之前學習過的存儲數據可以使用文件,那麽為什麽還要弄個數據庫呢?

這就要談談用文件保存數據的幾個缺點:

文件的安全性問題、文件不利於數據查詢和管理、文件不利於存儲海量數據、文件在程序中控制不方便。

因此為了解決上述的問題,專家們設計出更利於管理數據的東西——數據庫,它更有效地管理數據。數據庫的水平是衡量壹個程序員水平的重要指標。

數據庫:物理操作系統文件或其他形式文件類型的集合。在MySQL數據庫中,數據庫文件可

以是frm,MYD,MYI,ibd結尾的文件。當使用NDB引擎時,數據庫的文件可能不是操作系統上的文件,而是存放在內存之中的文件,但是定義仍然不變。

2、主流數據庫

l?MySQL:世界上最受歡迎的數據庫,屬於甲骨文,並發性好,不適合做復雜的業務。主要用在電商,SNS,論壇。對簡單的SQL處理效果好。

l?SQLSever:微軟的產品,.Net程序元的最愛,常用於中大型項目。

l?Oracle:甲骨文產品,適合大型項目,復雜的業務邏輯,並發壹般來說不如MySQL。

2.1MySQL

我主要學習MySQL數據庫,那麽就再了解了解MySQL數據庫。MySQL被設計為壹個可移植的數據庫,幾乎在當前所有系統上都能運行,如:Linux,Windows,Mac,Solaris和FreeBSD。盡管各平臺在底層(如線程)實現方面都各有不同。

但是MySQL基本上能保證在各個平臺上的物理體系結構的壹致性。因此,用戶應該能夠很好的理解MySQL數據庫在所有這些平臺上是如何運作的。

3、MySQL架構:

MySQL數據庫由後臺線程以及壹個***享內存區組成。***享內存可以被運行的後臺線程所***享。需要牢記的是,數據庫實例才是真正用於操作數據庫文件的。在MySQL中,實例與數據庫的關系通常是壹壹對應的。即壹個實例對應壹個數據庫,壹個數據庫對應壹個實例。但是,在集群情況下可能存在壹個數據庫被多個數據實例使用的情況。

MySQL被設計為壹個單進程多線程架構的數據庫,這點與SQLServer比較類似,但與Oracle多進程的架構有所不同(Oracle的Windows版本也是單進程多線程架構的)。這也就是說,MySQL數據庫實例在系統上的表示就是壹個進程。可以通過ps指令觀察MySQL數據庫啟動後的進程情況:

註意進程為17022的進程就是MySQL的實例。當啟動實例時,MySQL數據庫會去讀取配置文件,根據配置文件中的參數來啟動數據庫實例。在MySQL數據庫中可以沒有配置文件,在這種情況下,MySQL會按照編譯時的默認參數設置啟動實例。

查看當MySQL實例啟動時,會在那些位置查找配置文件:

[Lxy@VM-20-12-centos~]$mysql--help|grepmy.cnforderofpreference,my.cnf,$MYSQL_TCP_PORT,/etc/my.cnf/etc/mysql/my.cnf/usr/etc/my.cnf~/.my.cnf

可以看到,MySQL數據庫是按照/etc/my.cnf->/etc/mysql/my.cnf->/usr/etc/my.cnf->~/.my.cnf的順序來讀取配置文件的。如果幾個配置文件中都有同壹個參數,MySQL數據庫會按照讀取到的最後壹個參數為準。在Linux環境下,配置文件壹般放在/etc/my.cnf下。在Windows平臺下,配置文件的後綴名可能是.cnf或者.ini。

配置文件中有壹個參數datadir,該參數指定了數據庫所在的路徑。在Linux操作系統下默認datadir為/usr/local/mysql/data,用戶可以修改該參數,當然也可以使用該路徑。

3.1連接服務器

輸入:

mysql-uroot-p。

註意:

如果沒有寫-h127.0.0.1默認是本地連接

如果沒有寫``-P3306`默認是3306端口號

3.2服務器管理。

l?執行win+r輸入services.msc打開服務管理器。

l?通過下圖左側停止,暫停,重啟按鈕進行服務管理(壹般建議不要動)。

4、服務器,數據庫,表之間的關系

所謂安裝數據庫服務器,只是在機器上安裝了壹個數據庫管理系統程序,這個管理程序可以管理多個數據庫,壹般開發人員針對每壹個應用創建壹個數據庫。

為保存應用中實體的數據,壹般會在數據庫中創建多個表,以保存程序中實體的數據。

5、使用數據庫

這裏使用數據庫只是壹些簡單的sql語句,更加相信更加復雜的將在後面的博客中逐漸呈現。

顯示當前所有數據庫。

showdatabases;

使用數據庫。

use[數據庫名];//例如use104_db;

創建數據庫表。

createtablestudent(idint,namevarchar(20));

查看表信息。

desc[表名];//例如descstudent;

像指定表中插入數據。

insertinto[表名](id,name)values(1,"張三");//例如:insertintostudent(id,name)values(1,"張三");//也可以如果是全屬性插入也可以省略屬性字段//例如:insertintostudentvalues(2,"李四");//如果明確指定屬性字段後面的插入字段必須與之匹配//例如:insertintostudent(id)values(3);

查詢表中的數據。

清屏。

systemclear//mysql並沒有提供清屏的指令可以使用系統自帶的指令:

退出數據庫。

6、SQL分類

l?DDLDataDefinitionlanguage數據定義語言,用來維護存儲數據的結構

代表指令:create,drop,alter。

l?DMLDataManipulationLanguage數據操縱語言,用來對數據進行操作的

代表指令:insert,delete,update。

l?DML中又單獨分了壹個DQL,數據查詢語言,代表指令:select。

l?DCLDataControlLanguage數據控制語言,主要負責權限管理和事務

代表指令:grant,revoke,commit。

7、存儲引擎

存儲引擎:數據庫管理系統如何存儲數據,如何為存儲的數據建立索引和如何更新,查詢數據等技術的實現方法。MySQL的核心就是插件式存儲引擎,支持多種存儲引擎。

  • 上一篇:打鼓新場的來歷
  • 下一篇:日本山野美發學校的師資力量
  • copyright 2024吉日网官网