MYSQL數據庫——mysql數據庫的基本

一.什麼是MYSQL?

   MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。
   MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。
   MySQL所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策,分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。
   因爲其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
   因爲MySQL是開放源碼軟件,對於通常的我的使用者和中小型企業來講,MySQL提供的功能綽綽有餘,能夠大大下降開發成本。
   Linux做爲操做系統,Apache 或Nginx做爲 Web 服務器,MySQL 做爲數據庫,PHP/Perl/Python做爲服務器端腳本解釋器。因爲這四個軟件都是免費或開放源碼軟件(FLOSS),所以使用這種方式不用花一分錢(除開人工成本)就能夠創建起一個穩定、免費的網站系統,被業界稱爲「LAMP「或「LNMP」組合。
 

二.MYSQL的基本命令

 語法: mysql  (參數) (數據庫名稱)mysql

 參數:   -u :用戶名稱 sql

      -p:登陸用戶的密碼,-p和密碼之間沒有空格shell

      -h:登陸方式,遠程的話就是遠程主機的ip地址,也能夠是本地登陸localhost數據庫

      -P:mysql的登陸的端口號,通常默認的mysql的端口號爲3306  安全

      數據庫名稱:須要登錄進的數據庫的名稱  服務器

      -e:後面跟的是SQL語句,-e參數的意思是,登陸進數據庫執行相應的 -e 後面的語句的操做並輸出在終端上,最後退出數據庫。免交互的執行命令。併發

 

三.數據庫的登陸

1.使用命令行(Windows)/shell(Linux)登陸:

 在Windows上:分佈式

  打開命令行 —> 輸入 cd "\Program Files\MySQL\MySQL Server 8.0\bin"  —>  輸入 mysql  -u 登陸的用戶名  -p(用戶密碼)  -h  localhost/ip地址高併發

 在Linux上:性能

  打開一個shell —> 輸入 mysql  -u 登陸的用戶名  -p(用戶密碼)  -h  localhost/ip地址

  

2.在Windows上,使用圖標的方式登陸

  點擊桌面上的【計算機】圖標  —>  選擇 MySQL 8.0 Commend Line Client  —>  輸入用戶密碼  —>  登陸成功

 

四.MYSQL數據庫

 在Mysql安裝完成以後,系統會自動的在Databases目錄下面建立幾個必須的數據庫,能夠用 SHOW DATABASES;  來查看當前的新建的數據庫下有哪些必要的存在的數據庫。

      

 

1.各個自動建立的數據庫的相應的含義

  mysql:是必須的,是用來存儲MySQL數據庫中的用戶的訪問的權限等。

  information_schema:是MySQL自帶的,它提供了訪問數據庫 元數據 的方式。元數據是關於數據的數據,如數據庫名或表名,列的數據類型,或訪問權限等。就相似因而一個信息數據庫,其中保存着關於MySQL服務器所維護的全部其餘數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權限等。

  performance_schema:新增一個存儲引擎表。

 

2.本身建立數據庫

  建立數據庫的SQL語句:CREATE  DATABASE  數據庫名稱;

  建立完成後,用命令查看本身建立的數據庫:SHOW DATABASES;

 

3.刪除沒必要要的數據庫

  刪除書庫據的SQL語句:DROP  DATABASE  數據庫名稱;

  刪除完成後,用命令查看本身建立的數據庫是否還存在:SHOW DATABASES;  ##若是刪除的是不存在的數據庫的時候,執行結果會報錯。

 

五.數據庫的存儲引擎

1.什麼是數據庫的存儲引擎?

  MySQL中的數據用各類不一樣的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不一樣的存儲機制、索引技巧、鎖定水平而且最終提供普遍的不一樣的功能和能力。經過選擇不一樣的技術,你可以得到額外的速度或者功能,從而改善你的應用的總體功能。如今許多不一樣的數據庫管理系統都支持多種不一樣的數據類型,Mysql的核心就是存儲引擎。

 

2.查看數據庫支持的存儲引擎

  查看數據庫支持的存儲引擎的SQL語句:SHOW ENGINES\G ;

      

      

 

3.不一樣引擎的不一樣

  MyISAM: 擁有較高的插入,查詢速度,但不支持事務。若是你的數據庫主要是用於查詢、插入記錄,那麼這個存儲引擎具備較高的處理效率。

  InnoDB :5.5版本後Mysql的默認數據庫,事務型數據庫的首選引擎,支持事務安全表(ACID),支持行級鎖定,具備提交、回滾、崩潰恢復的能力。具備處理巨大數據量的最大性能設計。支持外鍵完整性約束。

  BDB: 源自Berkeley DB,事務型數據庫的另外一種選擇,支持COMMIT和ROLLBACK等其餘事務特性

  Memory :全部數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。可是會佔用和數據量成正比的內存空間。而且其內容會在Mysql從新啓動時丟失,若是隻是存儲臨時數據,不須要太大的安全性,能夠選擇這個存儲引擎。

  Merge :將必定數量的MyISAM表聯合而成一個總體,在超大規模數據存儲時頗有用

  Archive :很是適合存儲大量的獨立的,做爲歷史記錄的數據。由於它們不常常被讀取。Archive擁有高效的插入速度,支持高併發的插入的操做,但其對查詢的支持相對較差。

  Federated: 將不一樣的Mysql服務器聯合起來,邏輯上組成一個完整的數據庫。很是適合分佈式應用

  Cluster/NDB :高冗餘的存儲引擎,用多臺數據機器聯合提供服務以提升總體性能和安全性。適合數據量大,安全和性能要求高的應用

  CSV: 邏輯上由逗號分割數據的存儲引擎。它會在數據庫子目錄裏爲每一個數據表建立一個.CSV文件。這是一種普通文本文件,每一個數據行佔用一個文本行。CSV存儲引擎不支持索引。

  BlackHole :黑洞引擎,寫入的任何數據都會消失,通常用於記錄binlog作複製的中繼

 

 六.實戰演練——數據庫的建立和刪除

1.登陸數據庫

      

2.建立數據庫zoo

      

3.選擇建立的數據庫爲當前的數據庫,並查看數據庫的相關的信息。

      

4.刪除數據庫。

       

相關文章
相關標籤/搜索