資料庫總結

2021-10-23 00:26:05 字數 2080 閱讀 4341

1.整型型別

位元組大小

tingint

1smallint

2mediumint

3int

4bigint8

2.浮點型

float

double

3.字元型型別

區別char

定長字串,長度不夠自動補空格

varchar

變長字串

4.text

儲存文字

5.日期型別

格式year

1991

time

10:01:10

date

1991-01-10

datetime

1991-01-10 10:01:10

timestamp

1991-01-10 10:01:10

6.blob

儲存二進位制

7.enum

列舉型別,字段值只能取乙個

8.set

列舉型別,字段值可以取多個

alter table 表名 add/drop/modify/change 欄位名 / index 欄位名 / unique index 欄位名
檢視是一張虛表,它是由資料庫中的一張或多張表的某些列拼接起來的一張虛擬表,不佔磁碟空間。

對檢視中字段的資料進行修改、刪除會直接修改對應的原表。

向檢視插入資料時,如果沒有給某張原表的某些字段賦值,並且這些字段要求是非空的,則插入操作會失敗。

完成特定功能的sql語句集,已經編譯好的,儲存在資料庫中,呼叫時用儲存過程名,並傳入引數。

什麼是索引?

索引是一種資料結構,儲存在資料庫中,占用磁碟空間。

索引本質是一顆平衡樹(非二叉),對錶資料進行增刪改查就會對這顆平衡樹進行操作,查詢次數為樹的高度,每次進行增刪改操作,都需要調整這顆平衡樹,所以索引可以提高查詢效率,但是,頻繁增刪改會降低操作效率。

為什麼用索引?

索引存在的目的是可以提高查詢效率。

索引有什麼優缺點?

優點:提高查詢效率。

缺點:頻繁的增刪改操作會減低效率。

索引有哪些分類?

索引分為聚集索引和非聚集索引。

對於innodb來說:

聚集索引:樹的每個節點是主鍵的值,葉子節點是對應的資料記錄。

非聚集索引:樹的每個節點是除主鍵外的字段值,葉子節點是其對應的主鍵值。

通過聚集索引可以直接查詢到資料。

通過非聚集索引查詢到的是對應的主鍵值,然後再通過聚集索引查詢到資料。

由事件觸發某個操作,這些事件包括insert、delete、update,觸發時機可以在事件之前,也可以在事件之後。

事務的四個特性:

事務中的操作,要麼都執行,要麼都不執行。

事務提交前後,資料庫滿足完整性。

多個事務並行執行時,相互不影響。

事務提交後,資料記錄是永久儲存的。

隔離級別:

事務a已開始執行,但還未提交,此時,事務b查詢了事務a修改的記錄,然後,事務a回滾,這將造成事務b查詢到的記錄是無意義的,這個問題稱為髒讀。

事務a有兩次查詢資料記錄,第一次查詢結束,此時,事務b update了某些記錄並且已提交,然後,事務a執行第二次查詢,這將造成事務a中兩次查詢結果不一樣,這個問題稱為不可重複讀。

事務a有兩次查詢某個範圍的資料記錄,第一次查詢結束,此時,事務b 在這個範圍內insert了某些資料記錄或delete了某些記錄並已提交,然後,事務a執行第二次查詢,這將會造成事務a第二次查詢的結果比第一次的多了或少了某些資料記錄,就像出現了幻覺一樣,這個問題稱為幻讀。

事務a與事務b是序列執行的,該級別下不會產生任何問題,但是效率最低。

資料庫總結

從這張表可以看到存在冗餘,西遊記,孫悟空 和 葫蘆娃,火娃 出現兩次,在資料量更大的情況下可能出現更多次。假設用這張表,然後候選鍵為什麼?你分析一下,小朋友的id肯定是候選鍵 候選鍵的概念,請翻閱資料庫教材 之一,就可以了麼。貌似不行,因為動漫電影不由這個決定,那麼動漫人物加上作為候選鍵之一,根據這...

資料庫總結

剛剛結束了short brain 英語學習的專案,趕快利用這段時間把期末考試期間拉下的資料庫的學習趕一下吧。雖然相隔時間不長,但是我已經對資料庫的概念和了解有一些模糊了。於是翻開了以前的相關筆記複習了一下,幫我喚起了部分的記憶。我在資料庫學習的初期參考了vb課本以及 sql入門經典 並且在學習的初期...

資料庫總結

一 常見資料庫 1 oracle是甲骨文的資料庫產品2 sql server是微軟的資料庫產品3 mysql是一種開源 的關係型資料庫管理系統 資料庫管理系統 dbms 資料庫管理員 dba 資料庫系統 dbs 二 1 dml 資料操作語言 用來插入 修改和刪除資料庫中的資料2 ddl 資料定義語言...