HeadFirstSQL學習筆記(四)

2021-07-26 13:18:11 字數 2570 閱讀 5174

建立檢視

create view web_designers as

select…

檢視檢視的內容,可以把她想成一張表:

select * from web_designers;

什麼是檢視 1

)檢視把複雜的查詢簡化為乙個命令,不需要重複建立複雜的聯接與子查詢; 2

)為資料建立檢視,可於改變底層表結構時以檢視模仿資料庫的原始結構,因而無需修改使用舊結構的應用程式; 3

)建立檢視可以隱藏讀者無需看到的資訊;

帶有check option的檢視

檢查每個進行

insert

或者delete

的查詢,它根據檢視中的

where

子句來判斷這些查詢可否執行。

檢視使用完畢:

drop view pb_dimes;

事務:是一群可完成一組共組哦的

sql語句。在事務過程中,如果所有步驟無法不受干擾地完成,則不該完成任何單一步驟。

三種事務工具:

start transaction;  

持續追蹤後續所有

sql語句,直到你輸入

commit

或者rollback為止

commit

;如果所有語句已經妥當,輸入

commit

讓一切改變成真

rollback; 

回滾,回到事務開始前的狀態

如何讓事務在

mysql

下運作

在mysql

下使用事務前,你需要採用正確的儲存引擎,儲存引擎是儲存所有資料庫內容和結構的背後功臣,有些儲存引擎允許事務有些則不行。

儲存引擎

必須是bdb

或者innodb,

兩種支援事務的引擎之一。就現在的目標而言,從兩種引擎中選擇任一種都可以。

改變儲存引擎:

alter table your_table type=innodb;

資料庫使用者

根使用者:具有所有資料庫操控能力。

set password for 'root'@'localhost'=password('b4dc10');

-- 根使用者的名稱是『root』,『localhost』代表安裝與執行sql軟體的機器,password部分是為根使用者選擇的密碼

新增新使用者:

create user elsie   -- 使用者名稱

identified by'cl3v3r'; -- 這是密碼

判斷使用者的確切需求:

剛剛建立的新使用者沒有任何許可權,

grant語句可以控制使用者對錶和列可執行的操作。

grant select on

clown_info

to elsie; -- 使用者elsie被授予某個表的select許可權

grant的各種變化

1可用同乙個

grant

語句為多位使用者設定許可權;

with grant option

讓使用者能把剛獲得的許可權授予其他使用者;

指定使用者可於某個表中使用的列,而不是允許使用者操作整張表;

一段語句可對表制定超過一種許可權;

grant all

把select\update\insert\delete

許可權都授予使用者; 使用

database.*

可把許可權範圍運用到資料庫中的每張表。

撤銷許可權:revoke

revoke select on

clown_info

from elsie;

只撤銷with grant option

revoke grant option on

delete on chores

角色:角色是把特定許可權匯集成組沒,再把組許可權授予一群人的方式。

create role data_entry; -- 建立角色

grant select,insert on some_table todata_rntry; -- 為角色授予許可權

grant data_entry to doc; -- 把角色指定給使用者

drop role data_entry; -- 卸除角色

grant data_entry to doc with adminoption; -- 允許使用者把角色授予其他人

revoke data_entry from doc cascade; -- 撤銷角色,連鎖反應;restrict ,已把許可權授予他人,則連鎖的許可權都會保留

關於 Head First SQL 中文版

我想談談 我對於head first sql 中文版的一些看法 事實上關於我翻譯的這個head first sql 中文版。我自覺得 的確翻譯得非常爛。和翻譯head first c 的飛哥相比,的確是要差了幾個等級。可是要知道。飛哥是過了六級。550多分。口語a級的鳥人的嘛。我還僅僅過了四級。今天...

關於 Head First SQL 中文版

我想談談 我對於head first sql 中文版的一些看法 事實上關於我翻譯的這個head first sql 中文版。我自覺得 的確翻譯得非常爛。和翻譯head first c 的飛哥相比,的確是要差了幾個等級。可是要知道。飛哥是過了六級。550多分。口語a級的鳥人的嘛。我還僅僅過了四級。今天...

關於 Head First SQL 中文版

我想談談 我對於head first sql 中文版的一些看法 事實上關於我翻譯的這個head first sql 中文版。我自覺得 的確翻譯得非常爛。和翻譯head first c 的飛哥相比,的確是要差了幾個等級。可是要知道。飛哥是過了六級。550多分。口語a級的鳥人的嘛。我還僅僅過了四級。今天...