什么是數據庫?
數據庫(Database):存儲數據的倉庫
高效地存儲和處理數據的介質(介質主要是兩種:磁盤和內存)
數據庫系統:DBS(Database System):是一種虛擬系統,將多種內容關聯起來的稱呼
DBS = DBMS + DB
DBMS:Database Management System,數據庫管理系統,專門管理數據庫
DBA:Database Administrator,數據庫管理員
行/記錄:row/record
列/字段:column/field
數據庫的分類
基于存儲介質的不同:分為關系型數據庫(SQL)和非關系型數據庫(NoSQL:Not Only SQL)
關系型數據庫yu非關系型數據庫
什么是關系型數據庫?
是一種建立在關系模型(數學模型)上的數據庫
關系模型:一種所謂建立在關系上的模型
關系模型包含三個方面:
數據結構:用于解決數據存儲的問題,二維表(有行和列)
操作指令集合:所有SQL語句
完整性約束:表內數據約束(字段與字段)、表與表之間約束(外鍵)
關系型數據庫產品
大型:Oracle、DB2
中型:SQL Server(window的操作系統)、MySQL
小型:Access、SQLite等
非關系型數據庫產品:Memcached(運行在內存)、MongoDB(內存)、Redis(磁盤)
關系型數據庫yu非關系型數據庫區別:關系型數據庫:安全(保存磁盤,基本不可能丟失),容易理解,比較浪費空間(二維表)
非關系型數據庫:效率高,不安全(斷電丟失)
操作指令集合SQL:(Structured Query Language,結構化查詢語言)
SQL分為三個部分:
DDL:(Data Definition Language,數據定義語言)用來維護存儲數據的結構(數據庫、表),代表指令:create(創建,增加(數據庫,表,函數,等))、drop
(刪除)、alter(修改)等
DML:(Data Manipulation Language,數據操作語言)用來對數據進行操作(數據表中的內容),代表指令:insert、delete、update等。其中DML內部又單獨進行了一個分類:DQL(Data Query Language,數據查詢語言(最主要的操作))如select
DCL:(Data Control Language,數據控制語言)主要是負責權限管理(用戶),代表指令:grant(分配權限)、revoke(回收權限)等
連接認證
客戶端與服務端的交互方式
1、客戶端連接認證:連接服務器、認證身份(mysql.exe -hPup)-h--找到主機地址 (自己主機地址localhost)? ?-P端口(默認3306)-u指定的登錄用戶名? -p回車輸入密碼
2、客戶端發送SQL指令
3、服務器接收SQL指令,并處理SQL指令,返回操作結果
4、客戶端接收結果,并顯示結果
5、斷開連接? exit(退出)或quit 或 \q--彈出Bye連接認證命令:mysql.exe -h localhost -P 3306 -u root -p?回車輸入密碼
在本機鏈接認證的命令也可以是:mysql -u -root -p
回車輸入密碼
show databases查看所有數據庫