什么是數(shù)據(jù)庫?
數(shù)據(jù)庫(Database):存儲(chǔ)數(shù)據(jù)的倉庫
高效地存儲(chǔ)和處理數(shù)據(jù)的介質(zhì)(介質(zhì)主要是兩種:磁盤和內(nèi)存)
數(shù)據(jù)庫系統(tǒng):DBS(Database System):是一種虛擬系統(tǒng)夜焦,將多種內(nèi)容關(guān)聯(lián)起來的稱呼
DBS = DBMS + DB
DBMS:Database Management System壳澳,數(shù)據(jù)庫管理系統(tǒng),專門管理數(shù)據(jù)庫
DBA:Database Administrator茫经,數(shù)據(jù)庫管理員
行/記錄:row/record
列/字段:column/field
數(shù)據(jù)庫的分類
基于存儲(chǔ)介質(zhì)的不同:分為關(guān)系型數(shù)據(jù)庫(SQL)和非關(guān)系型數(shù)據(jù)庫(NoSQL:Not Only SQL)
關(guān)系型數(shù)據(jù)庫yu非關(guān)系型數(shù)據(jù)庫
什么是關(guān)系型數(shù)據(jù)庫?
是一種建立在關(guān)系模型(數(shù)學(xué)模型)上的數(shù)據(jù)庫
關(guān)系模型:一種所謂建立在關(guān)系上的模型
關(guān)系模型包含三個(gè)方面:
數(shù)據(jù)結(jié)構(gòu):用于解決數(shù)據(jù)存儲(chǔ)的問題,二維表(有行和列)
操作指令集合:所有SQL語句
完整性約束:表內(nèi)數(shù)據(jù)約束(字段與字段)萎津、表與表之間約束(外鍵)
關(guān)系型數(shù)據(jù)庫產(chǎn)品
大型:Oracle卸伞、DB2
中型:SQL Server(window的操作系統(tǒng))、MySQL
小型:Access锉屈、SQLite等
非關(guān)系型數(shù)據(jù)庫產(chǎn)品:Memcached(運(yùn)行在內(nèi)存)荤傲、MongoDB(內(nèi)存)、Redis(磁盤)
關(guān)系型數(shù)據(jù)庫yu非關(guān)系型數(shù)據(jù)庫區(qū)別:
關(guān)系型數(shù)據(jù)庫:安全(保存磁盤颈渊,基本不可能丟失)遂黍,容易理解,比較浪費(fèi)空間(二維表)
非關(guān)系型數(shù)據(jù)庫:效率高俊嗽,不安全(斷電丟失)
操作指令集合
SQL:(Structured Query Language雾家,結(jié)構(gòu)化查詢語言)
SQL分為三個(gè)部分:
DDL:(Data Definition Language,數(shù)據(jù)定義語言)用來維護(hù)存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)(數(shù)據(jù)庫绍豁、表)芯咧,代表指令:create(創(chuàng)建,增加(數(shù)據(jù)庫竹揍,表敬飒,函數(shù),等))芬位、drop
(刪除)无拗、alter(修改)等
DML:(Data Manipulation Language,數(shù)據(jù)操作語言)用來對(duì)數(shù)據(jù)進(jìn)行操作(數(shù)據(jù)表中的內(nèi)容)昧碉,代表指令:insert英染、delete阴孟、update等。其中DML內(nèi)部又單獨(dú)進(jìn)行了一個(gè)分類:DQL(Data Query Language税迷,數(shù)據(jù)查詢語言(最主要的操作))如select
DCL:(Data Control Language永丝,數(shù)據(jù)控制語言)主要是負(fù)責(zé)權(quán)限管理(用戶),代表指令:grant(分配權(quán)限)箭养、revoke(回收權(quán)限)等
連接認(rèn)證
客戶端與服務(wù)端的交互方式
1慕嚷、客戶端連接認(rèn)證:連接服務(wù)器、認(rèn)證身份(mysql.exe -hPup)-h--找到主機(jī)地址 (自己主機(jī)地址localhost)? -P端口(默認(rèn)3306)-u指定的登錄用戶名? -p回車輸入密碼
2毕泌、客戶端發(fā)送SQL指令
3喝检、服務(wù)器接收SQL指令,并處理SQL指令撼泛,返回操作結(jié)果
4挠说、客戶端接收結(jié)果,并顯示結(jié)果
5愿题、斷開連接? exit(退出)或quit 或 \q--彈出Bye
連接認(rèn)證命令:mysql.exe -h localhost -P 3306 -u root -p 回車輸入密碼
在本機(jī)鏈接認(rèn)證的命令也可以是:mysql -u -root -p
回車輸入密碼
show databases查看所有數(shù)據(jù)庫