為了讓你更好的理解mysql,你需要先理解資料庫和sql兩個概念。
目錄sql 一種資料庫語言
sql- 是structured query language簡稱
那麼什麼是sql語句?
那為什麼要sql語句?
mysql是什麼?
我們在儲存資料都經歷的階段:
檔案操作階段》:用檔案充當資料庫 with open(python)
junjie|123|read
junjie&123&read
junjie*123*read
每個人資料格式都不同,程式之間無法相容軟體開發目錄》儲存資料分類(資料夾)
db 資料儲存檔案
雖然儲存目錄相同,但是每個人資料格式都不相同,程式之間無法相容使用資料庫的目的
使用資料庫的目的就是為了解決資料不相容的問題,基於網路使資料在某乙個地方以相同的格式統一儲存,實現資料共享(完成資料之間的格式與儲存位置統一)
資料庫隨時隨地的存在,並且使用,簡單的說,資料庫就是收集資料的結構。資料涉及很多,例如乙個產品屬於種類,並且有自己的資料標籤,這就是為什麼要用關係型資料。在關聯式資料庫,我們建模資料報括產品,品類,標籤等等,所有這些都用乙個**,包含行和列,就像excel中的電子**。
乙個**與其他**構成關係,一對一,或者一對多,因為我們要處理大量資料,所以需要定義資料庫,**等,我們更一步的將資料變成資訊。
# 各自儲存各自的資料,彼此不共享
單機遊戲: 不需要連線網路就可以玩,在本機儲存資料,你的通關記錄,賬號密碼,都儲存在本機
缺點:限制於在一台計算機玩,如果你計算機壞掉了,在換一台,那這些記錄都沒有。你註冊的賬號換一台電腦登入也是沒有記錄的,還是初始化狀態。(其實單機好像不需要註冊賬號)
# 資料儲存全部統一在乙個地方完成
聯機遊戲:不在本地儲存資料。所有人基於網路把自己的資料儲存到相同的位置,資料儲存的格式都相同,訪問的格式也相同,所以不管在那台計算機上,登入賬號密碼就可以訪問到我們儲存在資料庫的資訊,這樣就實現了相容問題。
如果資料庫機房內,伺服器遇到不可抗拒力量被銷毀了。這樣豈不是所有使用者資料全部丟失。所以有了集群概念,多台計算機從事相同的工作內容。
在資料儲存時會有多台計算機備份儲存,如果一台伺服器出現問題,可直接使用另一台伺服器。
集群一般由兩個或兩個以上的伺服器組建而成,每個伺服器被稱為乙個集群節點,集群節點之間可以相互通訊。通訊方式有兩種,一種是基於rs232線的心跳監控,另一種是一塊單獨的網絡卡 來跑心跳。因而,集群具有節點服務狀態監控功能,同時還必須具有服務實體擴充套件功能,可以靈活地增加和剔除某個服務實體。
集群中,同樣的服務可以由多個服務實體提供。因此,當乙個節點出現故障時,集群的另乙個節點,可以自動接管故障節點的資源,從而保證服務持久、不間斷地執行。因而集群具有故障自動轉移功能。
乙個集群系統必須擁有共享的資料儲存,因為集群對外提供的服務是一致的,任何乙個集群節點執行乙個應用時,應用的資料集中儲存在節點共享空間內,而每個節點的作業系統上僅執行應用的服務,同時儲存應用程式檔案。
名詞描述
資料事物的狀態
記錄一組資料結構成一條記錄,相當於檔案中的一行內容,如1,tanke,male,18表檔案
庫資料夾
資料庫管理系統
管理資料的套接字軟體,cs架構
資料庫伺服器
執行有dbms伺服器的計算機,該計算機對記憶體和硬體要求都很高
注:b/s架構的本質也是c/s架構
具有固定的表結構 ,並且表與表之間可以通過外來鍵建立關係。
關係型資料庫:指採用了關係模型來組織資料的資料庫。可以看作為excel**的形式 :有固定的幾個字段,下面是資料
缺點:效能沒有非關係性資料庫好 優點:資料統計有嚴謹性
mysql是資料庫管理系統,能夠幫助你管理關係型資料庫,並且是開源的,意味著這是免費的,如果必要,你可以修改源**。
mariadb(和mysql幾乎一致,但是開源免費)
oracle(大多數銀行使用)
postgresql(支援二次開發)
sqlserver
sqlite
db2 .....
沒有固定的表結構,資料儲存採用k:v鍵值對的形式 非結構化的儲存。
常用的非關係型資料庫:
redis :大部分公司使用 (多用來作為快取)
mongodb :適用於敏捷開發(應用在爬蟲和大資料領域)
memcache:(多用來作為快取)
我們通常將操作關係型資料庫的語句稱為:sql語句
我們通常將操作非關係型資料庫的語句稱為:nosql語句
有時候甚至使用nosql指代非關係型資料庫
關係型資料庫需要有表結構
非關係型資料庫是key-value儲存的,沒有表結構
sql 是一種標準的資料庫語言。ansi/sql 有專門的標準。
sql 包含以下3個功能:
資料建立語句,能夠幫助你定義資料庫和物件,例如表,檢視,觸發器,儲存過程;
資料操縱語言,能夠更新資料,查詢資料;
資料控制語言,幫你管理資料許可權。
運算元據庫軟體的命令
資料庫支援的語言非常多,為了避免識別問題,規定只要想要使用資料庫就統一使用sql語句。
解決不同語言運算元據庫產生語言不相容情況,實現資料相容問題。
mysql由 my 和 sql組成
mysql是資料庫管理系統,能夠幫助你管理關係型資料庫,並且是開源的,意味著這是免費的,如果必要,你可以修改源**。
儘管mysql是開源軟體,你需要買社群版才能得到專項服務。
mysql 對比oracle和 sql server 有非常大的優勢。.
資料庫可以指代的,即資料庫可代表為:
程式資料庫管理軟體
存放資料的某個"資料夾"
補充:我們通常將操作關係型的資料庫的語句稱為sql語句
通常將操作非關係型的資料庫語句稱為nosql語句、有時候甚至使用nosql指代非關係型資料庫
MySQL資料庫簡介
mysql 是乙個真正的多使用者 多執行緒sql資料可伺服器。sql是世界上最流行的和標準化的資料庫語言。mysql 是以乙個客戶機 伺服器結構實現的,是有乙個伺服器守護程式mysqld和很多不同的客戶程式和庫組成的。sql是一種標準化語言,它使得儲存 更新和訪問資訊更容易。如果您想用sql語言為乙...
MySQL資料庫簡介
資料庫就是儲存資料的倉庫。為了方便資料的儲存和管理,將資料按照特定的規律儲存在磁碟上。通過資料庫管理系統,有效的組織和管理儲存在資料庫中的資料。資料庫系統和資料庫不是乙個概念,資料庫系統比資料庫大很多,由資料庫 資料庫管理系統 應用開發工具構成。資料庫管理系統,用來定義資料 管理和維護資料的軟體。它...
Mysql資料庫簡介
1.1 資料庫的概念 資料庫就是用來儲存和管理資料的倉庫。資料庫儲存資料的優點 可儲存大量資料 方便檢索 保持資料的一致性 完整性 安全,可共享 通過組合分析,可產生新資料 1.2 資料庫的發展歷程 沒有資料庫,使用磁碟檔案儲存資料 層次結構模型資料庫 網狀結構模型資料 關係結構模型資料庫 使用二維...