MySQL數據庫簡介


1、什么是數據庫?

數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。
每個數據庫都有一個或多個不同的 API 用於創建,訪問,管理,搜索和復制所保存的數據。
我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。
所以,現在我們使用關系型數據庫管理系統(RDBMS)來存儲和管理大數據量。所謂的關系型數據庫,是建立在關系模型基礎上的數據庫,借助於集合代數等數學概念和方法來處理數據庫中的數據。
RDBMS 即關系數據庫管理系統(Relational Database Management System)的特點:
1.數據以表格的形式出現
2.每行為各種記錄名稱
3.每列為記錄名稱所對應的數據域
4.許多的行和列組成一張表單
5.若干的表單組成database

2、RDBMS 術語

在我們開始學習MySQL 數據庫前,讓我們先了解下RDBMS的一些術語:

數據庫: 數據庫是一些關聯表的集合。
數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
列: 一列(數據元素) 包含了相同類型的數據, 例如郵政編碼的數據。
行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
冗余:存儲兩倍數據,冗余降低了性能,但提高了數據的安全性。
主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據。
外鍵:外鍵用於關聯兩個表。
復合鍵:復合鍵(組合鍵)將多個列作為一個索引鍵,一般用於復合索引。
索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
參照完整性: 參照的完整性要求關系中不允許引用不存在的實體。與實體完整性是關系模型必須滿足的完整性約束條件,目的是保證數據的一致性。

3、SQL 分類

數據定義語言(DDL)

數據定義語言(Data Definition Language,DDL)是 SQL 語言集中負責數據結構定義與數據庫對象定義的語言。

DDL 的主要功能是定義數據庫對象。

DDL 的核心指令是 CREATE、ALTER、DROP。

數據操縱語言(DML)

數據操縱語言(Data Manipulation Language, DML)是用於數據庫操作,對數據庫其中的對象和數據運行訪問工作的編程語句。

DML 的主要功能是 訪問數據,因此其語法都是以讀寫數據庫為主。

DML 的核心指令是 INSERT、UPDATE、DELETE、SELECT。這四個指令合稱 CRUD(Create, Read, Update, Delete),即增刪改查。

事務控制語言(TCL)

事務控制語言 (Transaction Control Language, TCL) 用於管理數據庫中的事務。這些用於管理由 DML 語句所做的更改。它還允許將語句分組為邏輯事務。

TCL 的核心指令是 COMMIT、ROLLBACK。

數據控制語言(DCL)

數據控制語言 (Data Control Language, DCL) 是一種可對數據訪問權進行控制的指令,它可以控制特定用戶賬戶對數據表、查看表、預存程序、用戶自定義函數等數據庫對象的控制權。

DCL 的核心指令是 GRANT、REVOKE。

DCL 以控制用戶的訪問權限為主,因此其指令做法並不復雜,可利用 DCL 控制的權限有:CONNECT、SELECT、INSERT、UPDATE、DELETE、EXECUTE、USAGE、REFERENCES。

根據不同的 DBMS 以及不同的安全性實體,其支持的權限控制也有所不同。

4、SQL 語法

SQL(Structured Query Language),標准 SQL 由 ANSI 標准委員會管理,從而稱為 ANSI SQL。各個 DBMS 都有自己的實現,如 PL/SQL、Transact-SQL 等。

SQL 語法結構

image

SQL 語法結構包括:

  • 子句 - 是語句和查詢的組成成分。(在某些情況下,這些都是可選的。)

  • 表達式 - 可以產生任何標量值,或由列和行的數據庫表

  • 謂詞 - 給需要評估的 SQL 三值邏輯(3VL)(true/false/unknown)或布爾真值指定條件,並限制語句和查詢的效果,或改變程序流程。

  • 查詢 - 基於特定條件檢索數據。這是 SQL 的一個重要組成部分。

  • 語句 - 可以持久地影響綱要和數據,也可以控制數據庫事務、程序流程、連接、會話或診斷。

SQL 語法要點

  • SQL 語句不區分大小寫,但是數據庫表名、列名和值是否區分,依賴於具體的 DBMS 以及配置。

      例如:SELECT 與 select 、Select 是相同的。
    
  • 多條 SQL 語句必須以分號(;)分隔。

  • 處理 SQL 語句時,所有空格都被忽略。SQL 語句可以寫成一行,也可以分寫為多行。

      -- 一行 SQL 語句
      UPDATE user SET username='robot', password='robot' WHERE username = 'root';
    
      -- 多行 SQL 語句
      UPDATE user
      SET username='robot', password='robot'
      WHERE username = 'root';
    
  • SQL 支持三種注釋

      ## 注釋1
      -- 注釋2
      /* 注釋3 */
    

5、MySQL數據庫

MySQL 是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

MySQL 是開源的,目前隸屬於 Oracle 旗下產品。
MySQL 支持大型的數據庫。可以處理擁有上千萬條記錄的大型數據庫。
MySQL 使用標准的 SQL 數據語言形式。
MySQL 可以運行於多個系統上,並且支持多種語言。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
MySQL 對PHP有很好的支持,PHP 是目前最流行的 Web 開發語言。
MySQL 支持大型數據庫,支持 5000 萬條記錄的數據倉庫,32 位系統表文件最大可支持 4GB,64 位系統支持最大的表文件為8TB。
MySQL 是可以定制的,采用了 GPL 協議,你可以修改源碼來開發自己的 MySQL 系統。


免責聲明!

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



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