day04 MySQL多表 事務

2021-08-22 03:11:52 字數 2144 閱讀 5137

笛卡爾積:

內連線查詢

顯式內連線

從哪些表中查詢資料

條件是什麼

查詢哪些字段

外鏈結查詢

右外連線

子查詢

概念:查詢中巢狀查詢,稱巢狀查詢為子查詢。

子查詢的結果是多行單列的:

子查詢的結果是多行多列的:

概念操作

開啟事務: start transaction;

回滾:rollback;

提交:commit;

手動提交:

檢視事務的預設提交方式:

修改預設提交方式:

原子性

永續性

隔離性

一致性

髒讀:乙個事務,讀取到另乙個事務中沒有提交的資料

不可重複讀(虛讀):在同乙個事務中,兩次讀取到的資料不一樣。

幻讀:乙個事務操作(dml)資料表中所有記錄,另乙個事務新增了一條資料,則第乙個事務查詢不到自己的修改。

read uncommitted:讀未提交

read committed:讀已提交 (oracle)

repeatable read:可重複讀 (mysql預設)

serializable:序列化

注意:隔離級別從小到大安全性越來越高,但是效率越來越低

資料庫設定隔離級別:

管理使用者

新增使用者:

刪除使用者:

修改使用者密碼:

update user set password = password('新密碼') where user = '使用者名稱'; update user set password = password('abc') where user = 'lisi';

set password for '使用者名稱'@'主機名' = password('新密碼'); set password for 'root'@'localhost' = password('123');

* mysql中忘記了root使用者的密碼?

1. cmd -- > net stop mysql 停止mysql服務

* 需要管理員執行該cmd

2. 使用無驗證方式啟動mysql服務: mysqld --skip-grant-tables

3. 開啟新的cmd視窗,直接輸入mysql命令,敲回車。就可以登入成功

4. use mysql;

5. update user set password = password('你的新密碼') where user = 'root';

6. 關閉兩個視窗

7. 開啟任務管理器,手動結束mysqld.exe 的程序

8. 啟動mysql服務

9. 使用新密碼登入。

4. 查詢使用者:

-- 1. 切換到mysql資料庫

use myql;

-- 2. 查詢user表

select * from user;

* 萬用字元: % 表示可以在任意主機使用使用者登入資料庫

許可權管理:

查詢許可權: -- 查詢許可權 show grants for '使用者名稱'@'主機名'; show grants for 'lisi'@'%';

授予許可權: -- 授予許可權 grant 許可權列表 on 資料庫名.表名 to '使用者名稱'@'主機名'; -- 給張三使用者授予所有許可權,在任意資料庫任意表上

grant all on . to 'zhangsan'@'localhost';

撤銷許可權: -- 撤銷許可權: revoke 許可權列表 on 資料庫名.表名 from '使用者名稱'@'主機名'; revoke update on db3.accountfrom 'lisi'@'%';

Day04 多表查詢

1.笛卡爾集 笛卡爾集會在下面條件下產生 為了避免笛卡爾集,可以在 where加入有效的連線條件。2.oracle連線 3.等值連線 4.表的別名 5.連線多個表 6.非等值連線 7.內連線和外連線 8.自連線 9.1999連線 sql語句的多表查詢方式 例如 按照department id查詢em...

MySql多表查詢 事務

1.準備sql 建立部門表 create table dept id intprimary keyauto increment,name varchar 20 建立員工表 create table emp id intprimary keyauto increment,name varchar 10...

MySQL03 多表 事務

有兩個集合a,b 取這兩個集合的所有組成情況。要完成多表查詢,需要消除無用的資料 1.2.1 內連線查詢 1.隱式內連線 使用where條件消除無用資料 2.顯式內連線 1 select 字段列表 from 表名1 inner join 表名2 on 條件 3.內連線查詢總結 1.從哪些表中查詢資料...