MySQL學習筆記之一 MySQL入門

2021-09-02 02:55:08 字數 2682 閱讀 3267

一、簡介

mysql是乙個真正的多使用者、多執行緒sql資料庫伺服器。sql(結構化查詢語言)是世界上最流行的和標準化的資料庫語言。mysql是乙個客戶端/伺服器結構的實現,

它由乙個伺服器守護程式mysqld和很多不同的客戶程式和庫組成。

mysql的普及並不侷限於開放源**團隊內。雖然它在個人計算機上執行(確實,mysql的開發一般在不昂貴的linux系統上進行),但它是可移植的,並且可以執行

在商用作業系統和一直到企業伺服器的各種硬體上。此外,它的效能也足以和任何其他系統相匹敵,而且它還可以處理具有數百萬級的大型資料庫。

1.1 mysql優勢:

1、速度。mysql 執行速度很快。開發者聲稱mysql 可能是目前能得到的最快的資料庫。

2、使用簡單。mysql 是乙個高效能且相對簡單的資料庫系統,與一些更大系統的設定和管理相比,其複雜程度較低。

3、**可免費。mysql 對多數個人使用者來說是免費的。

4、支援查詢語言。mysql 可以利用sql(結構化查詢語言),sql 是一種所有現代資料庫系統都選用的語言。也可以利用支援odbc(開放式資料庫連線)的應用程式,odbc 是microsoft 開發的一種資料庫通訊協議。

5、效能高。許多客戶機可同時連線到伺服器。多個客戶機可同時使用多個資料庫。可利用幾個輸入查詢並檢視結果的介面來互動式地訪問mysql。

6、連線性和安全性優越。mysql 是完全網路化的,其資料庫可在網際網路上的任何地方訪問,因此,可以和任何地方的任何人共享資料庫。而且mysql 還能進行訪問控制,可以控制哪些人不能看到您的資料。

7、可移植性強。。mysql 可執行在各種版本的unix 以及其他非unix 的系統(如windows 和os/2)上。

二、 關係型資料庫管理系統(rdbms)

乙個關係型表有一組命名的屬性(a t t r i b u t e )或列,以及一組元組(t u p l e )或行。有時列被稱為域,行被稱為記錄,列和行的交集通常被叫做單元。列標示位置,有作用域或資料型別,例如字元或整數。行自己就是資料。

關係表必須符合某些特定條件

1、儲存在單元中的資料必須是原子的。每個單元只能存貯一條資料,這也叫資訊原則(information principle )。儘管在過去的數年中按某些違反這一條的方式已經建立了許多系統,但違反這一條將不能運用良好的設計原則。當乙個單元包含多於一條的資訊時,這叫做資訊編碼(information coding )。在這樣的情況下,是否採用違背理論的方案是乙個設計的選擇問題,儘管在多數情況下,結果證明這對資料的完整性是一不利的。

2、儲存在列下的資料必須具有相同的資料型別

3、每行必須唯一

4、列沒有順序

5、行沒有順序

6、列名稱唯一

關係模型兩個完整性原則:實體完整性原則簡潔地表明主鍵不能全部或部分地空缺或為空,引用完整性原則簡潔地表明乙個外來鍵必須為空或者與它所引用的主鍵當前存在的值相一致。

2.1 sql與非過程化程式語言

sql是一種典型的非過程化程式語言,這種語言的特點是:只指定哪些資料被操縱,至於對這些資料要執行哪些操作,以及這些操作是如何執行的,則未被指定。

與之相對應的是過程化程式語言,我們平常熟悉的各種高階程式語言都屬於這一範疇。這種語言的特點是:一條語句的執行是與其前後的語句和控制結構(如條件語句、迴圈語句等)相關的。

sql這種語言被設計為不允許你按照某種特定的順序來取出記錄,因為這樣做會降低sql sever取記錄的效率。使用sql,你只能按查詢條件來讀取記錄。

三、mysql資料處理

mysql支援大量的列型別,它可以被分為3類:數字型別、日期和時間型別以及字串(字元)型別。

3.1 字串值:

在字串中不僅可以使用普通的字元,也可使用幾個轉義序列,它們用來表示特殊的字元。每個轉義序列以乙個反斜槓(「\」)開始,指出後面的字元使用轉義字元來解釋,而不是普通字元。注意nul 位元組與null 值不同;nul 為乙個零值位元組,而null 代表沒有值。

引號在字串中使用注意事項:

如果串是用相同的引號括起來的,那麼在串中需要引號的地方重複寫該引號即可。

如果串是用另外的引號括起來的,則不需要雙寫相應引號,直接在串中使用,該引號不被特殊對待。

使用反斜槓,用轉移序列的方式表示;這種方法不去管用來將串括起的是單引號還是雙引號。

3.1.1 mysql字串列型別

3.2 數字值:

mysql 支援說明為整數(無小數部分)或浮點數(有小數部分)的值。

mysql 支援科學表示法。科學表示法由整數或浮點數後跟「e」或「e」、乙個符號(「+」或「-」,必須具有)和乙個整數指數來表示。

3.2.1 mysql數字列型別

3.2.2 十六進製制數字:

mysql支援十六進製制值。以十六進製制形式表示的整數由「0x」後跟乙個或多個十六進製制數字(」0」到「9」及「a」到「f」)組成。十六進製制數字不區分大小寫,但其字首「0x」不能為「0x」。即0x0a 和0x0a 都是合法的,但0x0a 和0x0a 不是合法的。

在數字上下文,它們表現類似於乙個整數(64位精度)。在字串上下文,它們表現類似於乙個二進位制字串,這裡每一對十六進製制數字被變換為乙個字元。

3.3 日期和時間列型別:

MySQL學習筆記之一MySQL入門

本人之前接觸的關係型資料庫主要是oracle和sqlserver,而對於mysql知之甚少,但查閱網上資料發現,mysql與oracle非常相似,所以學起來應該不會很費勁,在總結的時候可能更多的把關注點放在它與oracle的不同之處。一 簡介 mysql是乙個真正的多使用者 多執行緒sql資料庫伺服...

初試MySQL筆記之一

mysql是乙個關係型資料庫管理系統 rdbms mysql的非商業應用是免費的。乙個資料庫可以包含若干個表 table 每個表的每一行 row 資料由若干個資料域 field 或者叫做資料列 column 組成的。連線mysql mysql h hostname u username p 然後輸入...

MySQL學習之(一)建立MySQL

1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵入命令mysql u root p,回車後提示你輸密碼.注意使用者名稱前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可...