一、概念
SQL (Structured Query Language) 數(shù)據(jù)庫(kù),指關(guān)系型數(shù)據(jù)庫(kù)。主要代表:SQL Server,Oracle,MySQL(開(kāi)源),PostgreSQL(開(kāi)源)。
NoSQL(Not Only SQL)泛指非關(guān)系型數(shù)據(jù)庫(kù)。主要代表:MongoDB,Redis,CouchDB。
二、區(qū)別
1、儲(chǔ)存方式:
sql只支持基本數(shù)據(jù)類型比如mysql:
image.png
反而nosql,幾乎所有的NoSql數(shù)據(jù)庫(kù)都沒(méi)有表(table)的概念,取而代之的是文檔(document)。文檔是個(gè)什么東西?Mongodb的解釋,文檔是一個(gè)使用JSON格式以key-value方式存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),比如:
image.png
2、表、數(shù)據(jù)集合和數(shù)據(jù)之間的關(guān)系
在SQL中,必須定義好表和字段結(jié)構(gòu)后才能添加數(shù)據(jù),例如定義表的主鍵(primary key),索引(index),觸發(fā)器(trigger),存儲(chǔ)過(guò)程(stored procedure)等。表結(jié)構(gòu)可以在被定義之后更新,但是如果有比較大的結(jié)構(gòu)變更的話就會(huì)變得比較復(fù)雜。