資料庫:database
高效的儲存和處理資料的介質(磁碟和記憶體)
資料庫的分類
基於儲存介質的不同:關係型資料庫(sql)和非關係型資料庫(nosql)
關係型資料庫:安全(儲存磁碟基本不可能丟失),容易理解;比較浪費空間(二維表)
非關係型資料庫:效率高,不安全(斷電丟失)
1、什麼是關係型資料庫
定義:關係型資料庫是一種建立在關係模型(資料模型)上的資料庫。
關係模型:一種所謂建立在關係上的模型。
關係模型包含三個方面:
資料結構:資料儲存的問題,二維表(有行和列)
操作指令集合:所有sql語句
完整性約束:表內資料約束(欄位與字段)、表與表之間約束(外來鍵)
關係型資料庫的設計
從需要儲存的資料需求中分析,如果是一類資料(實體)應該設計成一張二維表。
表:表是由表頭(欄位名:用來規定資料的名字)和資料部分組成(實際儲存的資料單元)
關係型資料庫的特點:
如果表中對應的某個字段沒有值(資料),但是系統依然要分配空間。(關係型資料庫比較浪費空間)
資料庫:db(database)
資料庫系統:dbs(database system):是一種虛擬系統,講各種內容關聯起來的稱呼
dbs=dbms+db
dbms:datebase management system,資料庫管理系統,專門管理資料庫
dba:database administrator,資料庫管理員
行/記錄:row/record,本質是乙個東西,都是指表中的一行(一條語句),行是從結構的角度出發,記錄是從資料記錄的角度出發
列/字段:column/field,本質是乙個東西
sql:structured query language,結構化查詢語言
sql分為三部分
ddl:data definition language,資料定義語言,用來維護儲存資料的結構(資料庫,表)
代表指令:create,drop,alter
dml:data manipulation language,資料操作語言,用來對資料進行操作(資料表中的內容)
代表指令:insert,delete,update;其中dml內部又單獨進行了乙個分類:dql(date query language):資料查詢語言
dcl:data control language,資料控制語言,主要負責許可權管理(使用者)
代表指令:grant,revoke
mysql資料庫是一種c/s結構的軟體:客戶端/服務端,若想訪問伺服器必須通過客戶端(伺服器一直執行,客戶端在使用的時候執行)。
互動方式:
1、客戶端連線認證:連線伺服器,認證身份:mysql.exe -h主機名(localhost) -p埠(3306) -u使用者(root) -p
2、客戶端傳送sql指令
3、伺服器接收sql指令:處理指令,返回操作結果
4、客戶端接收結果:顯示結果
5、斷開連線(釋放資源:伺服器併發限制)
mysql伺服器物件
將mysql伺服器內部物件分成了四層:系統(dbms)->資料庫(db)->資料表(table)->字段(field)
資料庫 mysql 基礎
1.建立 create database 資料庫名 例如建立名為d testdb的資料庫 mysql create database d testdb 2.修改 alter database 資料庫名 character set 字符集名 例如修改字符集 set utf8 3.刪除 drop dat...
mysql資料庫基礎
乙個表不能有多個主鍵?解釋 不能,乙個表中有且只能有乙個主鍵,大事兩列 字段 可以作為乙個主鍵 例如 mysql create table t name varchar 5 addr varchar 28 age int 5 primary key name,addr 為什麼要設定主鍵?資料庫儲存的...
MySql資料庫(基礎)
學習資料庫,我覺得關鍵在於記住相關的英文單詞。把自己比較陌生的寫下來,便於記憶 查詢表結構 desc 表名 修改表頭欄位都是 alter table.開頭 給建立好的表新增位址字段,例如給學生表新增gender varchar 2 字段 alter table student add column ...