今天是5.5號。
其實本科就學(xué)過數(shù)據(jù)庫的相關(guān)課程壳咕,實際也比較簡單一姿,而且之前python部分也涉及到數(shù)據(jù)庫知識,只不過是NoSQL即非關(guān)系型數(shù)據(jù)庫和措,而主流的mysql,sqlserver,oracle等都是基于關(guān)系型數(shù)據(jù)庫的奴烙,所以這里又重新復(fù)習(xí)一下關(guān)系型數(shù)據(jù)庫相關(guān)知識助被。
一剖张、數(shù)據(jù)庫有三種模型數(shù)據(jù)結(jié)構(gòu):
(1).層次模型
(2).網(wǎng)狀模型
(3).關(guān)系模型
前兩者是上世紀(jì)七八十年代應(yīng)用較多的,由于比較復(fù)雜所以發(fā)展到了關(guān)系模型揩环,一般用E-R圖來表示搔弄,如下:
(a)層次結(jié)構(gòu)的應(yīng)用有:一個學(xué)院里教員學(xué)生層次數(shù)據(jù)庫模型;
(b)網(wǎng)狀結(jié)構(gòu)的應(yīng)用有:學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)模型丰滑;
(c)關(guān)系模型必須是規(guī)范化的顾犹,不允許表中還有表。且必須滿足完整性約束:實體完整性吨枉、參照完整性蹦渣。其中是實體完整性指的是要指明主碼哄芜;參照完整性是要指明外碼貌亭。
二、三級模式和兩級映射
兩級映射:內(nèi)模式/模式映射认臊,模式/外模式映射可以保證數(shù)據(jù)的獨立性圃庭。
三、SQL中常用的操作
(1)SQL 對大小寫不敏感:SELECT 與 select 是相同的失晴。
(2)SQL 語句后面的分號?
分號是在數(shù)據(jù)庫系統(tǒng)中分隔每條 SQL 語句的標(biāo)準(zhǔn)方法剧腻,這樣就可以在對服務(wù)器的相同請求中執(zhí)行一條以上的 SQL 語句。所以在后面的學(xué)習(xí)中最好在每條 SQL 語句的末端使用分號涂屁。
(3)一些最重要的 SQL 命令
SELECT - 從數(shù)據(jù)庫中提取數(shù)據(jù)
UPDATE - 更新數(shù)據(jù)庫中的數(shù)據(jù)
DELETE - 從數(shù)據(jù)庫中刪除數(shù)據(jù)
INSERT INTO - 向數(shù)據(jù)庫中插入新數(shù)據(jù)
CREATE DATABASE - 創(chuàng)建新數(shù)據(jù)庫
ALTER DATABASE - 修改數(shù)據(jù)庫
CREATE TABLE - 創(chuàng)建新表
ALTER TABLE - 變更(改變)數(shù)據(jù)庫表
DROP TABLE - 刪除表
CREATE INDEX - 創(chuàng)建索引(搜索鍵)
DROP INDEX - 刪除索引
可以看見關(guān)于表或者索引的更新用alter书在,刪除用drop。
四拆又、數(shù)據(jù)庫事務(wù)(transaction)的概念
附上管理事務(wù)處理的rollback()和commit()相關(guān)知識儒旬。
從功能上劃分,SQL 語言可以分為DDL,DML和DCL三大類帖族。
DDL(Data Definition Language)
數(shù)據(jù)定義語言栈源,用于定義和管理 SQL 數(shù)據(jù)庫中的所有對象的語言 ;
CREATE---創(chuàng)建表
ALTER---修改表
DROP---刪除表DML(Data Manipulation Language)
數(shù)據(jù)操縱語言竖般,SQL中處理數(shù)據(jù)等操作統(tǒng)稱為數(shù)據(jù)操縱語言 甚垦;
INSERT---數(shù)據(jù)的插入
DELETE---數(shù)據(jù)的刪除
UPDATE---數(shù)據(jù)的修改
SELECT---數(shù)據(jù)的查詢DCL(Data Control Language)
數(shù)據(jù)控制語言,用來授予或回收訪問數(shù)據(jù)庫的某種特權(quán)涣雕,并控制 數(shù)據(jù)庫操縱事務(wù)發(fā)生的時間及效果艰亮,對數(shù)據(jù)庫實行監(jiān)視等;
GRANT--- 授權(quán)
ROLLBACK---回滾
COMMIT--- 提交提交數(shù)據(jù)有三種類型:顯式提交挣郭、隱式提交及自動提交垃杖。
下面分別說明這三種類型。
(1) 顯式提交
用 COMMIT 命令直接完成的提交為顯式提交丈屹。
(2) 隱式提交
用 SQL 命令間接完成的提交為隱式提交调俘。這些命令是:
ALTER 伶棒, AUDIT , COMMENT 彩库, CONNECT 肤无, CREATE , DISCONNECT 骇钦, DROP 宛渐, EXIT , GRANT 眯搭, NOAUDIT 窥翩, QUIT , REVOKE 鳞仙, RENAME 寇蚊。
(3) 自動提交
若把 AUTOCOMMIT 設(shè)置為 ON ,則在插入棍好、修改仗岸、刪除語句執(zhí)行后,系統(tǒng)將自動進(jìn)行提交借笙,這就是自動提交扒怖。其格式為: SQL>SET AUTOCOMMIT ON ;
**對于DDL語句业稼,由于其是隱式提交盗痒,所以rollback和commit一般是用于對DML語言的管理。
(最后的附錄知識來源:
http://blog.csdn.net/ying_593254979/article/details/12134629 )