1、資料庫的發展階段:
人工管理階段----->檔案系統管理階段----->資料庫系統階段
1)人工管理階段:容易丟失,資料重複、冗餘,查閱和使用比較困難,維護成本高
2)檔案系統管理階段:易於儲存,處理速度加快,資料形式豐富
3)資料庫系統階段:易於維護海量資料,更快的運算,保證資料的安全性,使用程式語言管理資料
2、資料庫設定主鍵時,一般不和業務有相關性,主鍵為空和主鍵值重複會失去實體完整性
3、結構化查詢語言sql:用於儲存資料以及查詢、更新和管理關係資料庫系統
分類:1)資料定義語言(ddl):create、alter、drop
2)資料操縱語言(dml):insert 、delete、update、select
3)資料控制語言(dcl):grant、revoke、deny
4、mysql資料型別
1)整數型別:bit、tiny int(1個位元組)、small(2個位元組)、mediumint(3個位元組)、int(4個位元組)、bigint(8個位元組)
2)浮點數型別:float(4個位元組)、double(8個位元組)、decimal
3)字串型別:char(最多255個字元)、varchar、tiny text、text、mediumtext、longtext、tiny blob、blob等
4)日期型別:date、datetime、timestamp、time、year
5)其他資料型別:binary、varbinaary、enum、set等。
5、char 和varchar的區別
1):char(n)
若存入字元數小於
n,則以空格補於其後,查詢之時再將空格去掉。所以
char
型別儲存的字串末尾不能有空格,
varchar
不限於此
2):char(n)
固定長度,
char(4)
不管是存入幾個字元,都將占用
4個位元組,
varchar
是存入的實際字元數
+1個位元組(
n<=255)或2
個位元組(n>255)
,所以varchar
(4),存入3
個字元將占用
4個位元組。
3):char型別的字串檢索速度要比varchar型別快。
6、varchar和text的區別:
1):varchar
可指定n
,text
不能指定,內部儲存
varchar
是存入的實際字元數
+1個位元組(
n<=255)或2
個位元組(n>255)
,text
是實際字元數
+2個位元組。
2):text型別不能有預設值,varchar型別有預設值
3):varchar
可直接建立索引,
text
建立索引要指定前多少個字元。
varchar
查詢速度快於
text,
在都建立索引的情況下,
text
的索引似乎不起作用。
7、二進位制資料(_blob)
1):_blob
和_text
儲存方式不同,
_text
以文字方式儲存,英文儲存區分大小寫,而
_blob
是以二進位制方式儲存,不分大小寫。
2):._blob
儲存的資料只能整體讀出。
3):._text
可以指定字符集,
_blo
不用指定字符集。
8、資料型別的屬性:null、not null、default、primary、auto_increment、unsigned
9、e-r圖
1)長方形:實體,一般為名詞
2)橢圓:屬性,一般為名詞
3)菱形:關係,一般是動詞
10、三大正規化
1)1nf:如果每列都是不可分割的最小資料單元,即每列都不可在分割,則滿足第一正規化。
2)2nf:在滿足第一正規化的基礎上,並且除了主鍵以外的其他列,都完全依賴該主鍵,則滿足第二正規化,即每個表只描述一件事情。
3)3nf:在滿足第二正規化的基礎上,並且除了主鍵外的其他列都不傳遞依賴於主鍵列,則滿足第三正規化,即表中不存在冗餘。
關於Mysql資料庫的知識總結
2017年6月8日,天氣陰。心情晴。連續做夢兩個晚上了,昨晚竟然夢見乙個很長時間不聯絡的初中同學了,早上上班的路上聊了聊。女孩現在出差在貴州,風景秀美的地方。我說 你現在生活很滋潤 女孩說 那是你沒有看到我不滋潤的一面 確實,在生活中我們總是把自己光鮮的一面展示給別人,而把落魄的一面 偽裝起來 昨天...
Mysql資料庫知識總結
事務4個特性 a 原子性 c 一致性 i 隔離性 d 永續性 隔離級別 讀未提交 會出現 髒讀,幻讀,不可重複讀 讀提交 幻讀 不重複讀 可重複讀 不可重複讀 序列化 序列化執行,效能較差 mysql 預設隔離級別是 可重複讀,但是網際網路專案的的資料庫隔離級別,建議設定成如提交,提高資料的效能 o...
Mysql資料庫知識 Mysql索引總結
mysql資料庫知識 mysql索引總結 索引 index 是幫助mysql高效獲取資料的資料結構。下邊是自己整理的資料與自己的學習總結,做乙個彙總。一.真的有必要使用索引嗎?不是每乙個效能問題都可以通過建立乙個索引來解決 有很多其它解決效能問題的方式 a 各個應用層的快取,b 調優資料庫引數和緩衝...