MySQL入門教程系列-1.2 數據庫技術構成

數據庫技術構成

共同編輯,修正錯誤,這裏點擊進去 mysql

數據庫技術的出現是爲了更加有效的管理和存取大量的數據資源。簡單的來說,數據庫技術主要包括數據庫系統,SQL語言,數據庫訪問技術。git

數據庫系統

數據庫系統有3個主要的組成部分。github

數據庫

數據庫(Database System):用於存儲數據的地方。sql

數據庫管理系統

數據庫管理系統(Database Management System,DBMS):用戶管理數據庫的軟件。數據庫

數據庫應用程序

數據庫應用程序(Database Application):爲了提升數據庫系統的處理能力所使用的管理數據庫的軟件補充。編程

SQL語言

SQL,(Structured Query Language)即結構化查詢語言,數據庫管理系統專門經過SQL語言來管理數據庫中的數據,與數據庫通訊。編程語言

SQL的優勢:

  • SQL不是某個特定數據庫供應商專有的語言。幾乎全部重要的 DBMS都支持SQL,因此,學習此語言使你幾乎能與全部數據庫 打交道。
  • SQL簡單易學。它的語句全都是由描述性很強的英語單詞組成, 並且這些單詞的數目很少。
  • SQL儘管看上去很簡單,但它其實是一種強有力的語言,靈活 使用其語言元素,能夠進行很是複雜和高級的數據庫操做。

DBMS專用的SQL:SQL不是一種專利語言,並且存在一個標 準委員會,他們試圖定義可供全部DBMS使用的SQL語法,但 事實上任意兩個DBMS實現的SQL都不徹底相同。本書講授的 SQL是專門針對MySQL的,雖然書中所講授的多數語法也適 用於其餘DBMS,但不要認爲這些SQL語法是徹底可移植的。svg

SQL爲數據庫管理系統提供的功能

SQL語言是一種數據庫查詢和程序設計語言,其主要用於存取數據,查詢數據,更新數據和管理數據庫系統。具體的,SQL分爲3個部分,這裏只是大概整理一下,詳細的後面我會在SQL相關中仔細整理。學習

  • 數據定義語言(Data Definition Language,DDL):DROP、CREATE、ALTER等語句;數據庫定義語言。主要用於定義數據庫,表,視圖,索引和觸發器等。CREATE語句主要用於建立數據庫,建立表,建立視圖。ALTER語句主要用於修改表的定義,修改視圖的定義。DROP語句主要用於刪除數據庫,刪除表和刪除視圖等。ui

  • 數據操做語言(Data Manipulation Language,DML):INSERT、UPDATE、DELETE語句;數據庫操做語言。主要用於插入數據,更新數據,刪除數據。INSERT語句用於插入數據,UPDATE語句用於更新數據,DELETE語句用於刪除數據。

  • 數據查詢語言(Data Manipulation Language,DML):SELECT語句。主要用於查詢數據。

  • 數據控制語言(Data Control Language ,DCL)語句:數據庫控制語言。主要用於控制用戶的訪問權限。其中GRANT語句用於給用戶增長權限,REVOKE語句用於收回用戶的權限。

數據庫管理系統經過這些SQL語句能夠操做數據庫中的數據,在應用程序中,也能夠經過SQL語句來操做數據。來幾個個 SQL 語句的例子,這條語句聲明建立一個叫 user 的表:

CREATE TABLE `user` (
  `id`     int(100) unsigned NOT NULL AUTO_INCREMENT,
  `name`   varchar(32) NOT NULL DEFAULT '' COMMENT '姓名',
  `sex`    tinyint(32) NOT NULL DEFAULT 0  COMMENT '性別:0,保密;1,男;2,女',
  `mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手機',
  PRIMARY KEY (`id`)
);複製代碼

這張表包含 4 個字段,分別爲 id、name、sex、mobile,其中 id 定義爲表的主鍵,而且只能爲正數的自增加字段。而且字段 sex 有默認值 0,每一個 COMMENT 後面均爲字段註釋。

表定義好了,咱們能夠向這張表插入數據,下面這條語句是在 user 表中插入一條數據記錄:

INSERT INTO `user` SET name="張三",sex=1,mobile=13811772277;
INSERT INTO `user` VALUES (18,'王小二',0,12322224);複製代碼

上面兩條語句執行完以後,user 表中就會相對應增長一行新記錄,第一條該記錄中 id 是自增加的,部分字段有廚師默認值,因此只需插入部分值也是能夠插入成功的。第二條是必須按順序填寫對應的值,表中的id 字段比較特殊,因此插入 id 值的時候必須比表中最後一條數據的 id 值大,不然會報錯。

插入數據以後咱們再使用 SELECT 查詢語句獲取剛纔插入的數據,以下:

mysql> SELECT * FROM `user`;

-- +----+-----------+-----+-------------+
-- | id | name      | sex | mobile      |
-- +----+-----------+-----+-------------+
-- |  1 | 張三      |   1 | 13811772277 |
-- | 19 | 王小二    |   0 | 12322224    |
-- +----+-----------+-----+-------------+複製代碼

上面幾條 SQL 語句的例子,你們看了以後會有一個印象,知道 SQL 語句語法是什麼樣子,後面有大量的 SQL 語句知識幫助你學習 SQL 語法,玩兒好 MySQL。

數據庫訪問技術

這個數據庫訪問技術 小弟認爲這個是一個學術性的研究詞彙,我在維基百科各類百科對這個詞彙要麼沒有,要麼就一句話解釋,不知道誰想出的這個詞彙,在下甚是佩服,初步瞭解到這個是個什麼技術呢?

不一樣的程序設計語言會有各自不一樣的數據庫訪問方法,這個訪問方法稱之爲一種技術,程序語言經過這些技術,執行 SQL 語句,進行數據庫的管理。下面蒐集了一些主要的數據庫訪問技術

ODBC

Open Database Connectivity(ODBC,開放數據庫互連),提供了一種標準的API(應用程序編程接口)方法來訪問數據庫管理系統(DBMS)。這些API利用SQL來完成其大部分任務。ODBC自己也提供了對SQL語言的支持,用戶能夠直接將SQL語句送給ODBC。ODBC的設計者們努力使它具備最大的獨立性和開放性:與具體的編程語言無關,與具體的數據庫系統無關,與具體的操做系統無關。

ADO

微軟公司的 ActiveX Data Objects(ADO)是一個用於訪問數據源的COM組件,做爲高層的編程界面層。ADO是在OLE DB之上,包含了不少層次化的COM對象與集合(Collections,也是一類對象,在其裏面包含了其餘層級對象)。容許開發人員編寫訪問數據的代碼而不用關心數據源是如何實現與訪問驅動的,而只用關心到數據庫的鏈接。訪問數據庫的時候,關於SQL的知識不是必要的,可是特定數據庫支持的SQL命令仍能夠經過ADO中的命令對象(Command)來執行。

MDAC

Microsoft Data Access Components(MDAC)是微軟專門爲數據訪問功能而發展的應用程序開發接口,作爲微軟的統一化數據訪問(Universal Data Access; UDA)解決方案的核心組成,最初的版本在1996年8月發表。目前其組成組件有ODBC,OLE DB以及ADO,其中ADO是在Visual Basic上惟一的數據訪問管道,而OLE DB則是基於COM之上,供C/C++訪問與提供數據的接口,ODBC則是統一化的數據訪問API。

JDBC

Java Database Connectivity(JDBC,Java數據庫鏈接)是Java語言中用來規範客戶端程序如何來訪問數據庫的應用程序接口,提供了諸如查詢和更新數據庫中數據的方法。JDBC也是Sun Microsystems的商標。JDBC是面向關係型數據庫的。

相關文章
相關標籤/搜索