1.0 索引
索引是一種與表有關的結構,它的作用相當於書的目錄,可以根據目錄中的頁碼快速找到所需的內容。
當表中有大量記錄時,若要對錶進行查詢,沒有索引的情況是全表搜尋:將所有記錄一一取出,和查詢條件進行一一對比,然後返回滿足條件的記錄。這樣做會消耗大量資料庫系統時間,並造成大量磁碟 i/o 操作。
而如果在表中已建立索引,在索引中找到符合查詢條件的索引值,通過索引值就可以快速找到表中的資料,可以大大加快查詢速度。
對一張表中的某個列建立索引,有以下兩種語句格式:
altertable 表名字 add
index
索引名 (列名);
create
index 索引名 on 表名字 (列名);
我們用這兩種語句分別建立索引:
altertable employee add
index idx_id (id);
#在employee表的id列上建立名為idx_id的索引
createindex idx_name on employee (name);
#在employee表的name列上建立名為idx_name的索引
索引的效果是加快查詢速度,當表中資料不夠多的時候是感受不出它的效果的。這裡我們使用命令 show index from 表名字; 檢視剛才新建的索引
2.0 檢視
檢視是從乙個或多個表中匯出來的表,是一種虛擬存在的表。它就像乙個視窗,通過這個視窗可以看到系統專門提供的資料,這樣,使用者可以不用看到整個資料庫中的資料,而只關心對自己有用的資料。
--注意理解檢視是虛擬的表:
資料庫中只存放了檢視的定義,而沒有存放檢視中的資料,這些資料存放在原來的表中;
使用檢視查詢資料時,資料庫系統會從原來的表中取出對應的資料;
檢視中的資料依賴於原來表中的資料,一旦表中資料發生改變,顯示在檢視中的資料也會發生改變;
在使用檢視的時候,可以把它當作一張表。
建立檢視的語句格式為:
createview 檢視名(列a,列b,列c) as
select 列1,列2,列3 from 表名字;
可見建立檢視的語句,後半句是乙個select查詢語句,所以檢視也可以建立在多張表上,只需在select語句中使用子查詢或連線查詢,這些在之前的實驗已經進行過。
3.0 匯入
load data infile 'w\檔案路徑
'into
table 表名字;
4.0 匯出
匯出與匯入是相反的過程,是把資料庫某個表中的資料儲存到乙個檔案之中。匯出語句基本格式為:
select 列1,列2 into outfile '檔案路徑和檔名
'from 表名字;
--注意:語句中 「檔案路徑」 之下不能已經有同名檔案。
5.0 備份
--備份與匯出的區別:匯出的檔案只是儲存資料庫中的資料;而備份,則是把資料庫的結構,包括資料、約束、索引、檢視等全部另存為乙個檔案。
使用 mysqldump 備份的語句:
mysqldump -u root 資料庫名》備份檔案名; #備份整個資料庫
mysqldump
-u root 資料庫名 表名字》備份檔案名; #備份整個表
6.0 恢復
source 檔案路徑
mysql 其他基本操作
介紹資料庫的其他基本操作 索引 檢視,匯入和匯出,備份和恢復等。索引是一種與表有關的結構,它的作用相當於書的目錄,可以根據目錄中的頁碼快速找到所需的內容。當表中有大量記錄時,若要對錶進行查詢,沒有索引的情況是全表搜尋 將所有記錄一一取出,和查詢條件進行一一對比,然後返回滿足條件的記錄。這樣做會消耗大...
基本演算法 其他
七 進製轉換 1任意正整數進製間的互化 除n取餘 2實數任意正整數進製間的互化 乘n取整 3負數進製 設計乙個程式,讀入乙個十進位制數的基數和乙個負進製數的基數,並將此十進位制數 轉換為此負 進製下的數 r 八 全排列與組合的生成 1排列的生成 1.n procedure solve dep int...
C 堆排序和堆的其他基本操作
在刷到一道堆的題目的時候又忘記怎麼寫堆了,如果不寫成優先佇列的話。所以破竹寫這篇部落格了記錄堆得相應的寫法。首先heap的建立是 void build max heap vector nums 這樣子理解吧,除了根節點,從下往上每乙個節點都要經過堆的維護。堆的維護是 int heap size vo...