《經(jīng)典常用SQL 基礎(chǔ)知識(shí)數(shù)據(jù)庫(kù)與 SQL》由會(huì)員分享,可在線閱讀,更多相關(guān)《經(jīng)典常用SQL 基礎(chǔ)知識(shí)數(shù)據(jù)庫(kù)與 SQL(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、SQL 基礎(chǔ)知識(shí)- 數(shù)據(jù)庫(kù)與 SQL
目錄
· What's 數(shù)據(jù)庫(kù)
· 數(shù)據(jù)庫(kù)結(jié)構(gòu)
· SQL 概要
· 創(chuàng)建數(shù)據(jù)庫(kù)與表
· 刪除和更新表
一、What's 數(shù)據(jù)庫(kù)
1.數(shù)據(jù)庫(kù)(Database,DB):將大量數(shù)據(jù)保存起來(lái),通過(guò)計(jì)算機(jī)加工而成的可以進(jìn)行高效訪問(wèn)的數(shù)據(jù)集合。如:大型-銀行存儲(chǔ)的信息,小型-電話簿。
2.數(shù)據(jù)庫(kù)管理系統(tǒng)(Batabase Management System,DBMS):用來(lái)管理數(shù)據(jù)庫(kù)的計(jì)算機(jī)系統(tǒng)。
3.關(guān)系型數(shù)據(jù)庫(kù)(Relational Database,RDB):目前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)。
4.結(jié)構(gòu)化查詢(xún)語(yǔ)言(Struct
2、ured Query Language,SQL):專(zhuān)門(mén)用于操作 RDB。
5.常見(jiàn)的 5 種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(Relational Database Management System,RDBMS):
?、貽racle Database:甲骨文公司
?、赟QL Server:微軟公司
?、跠B2:IBM 公司
?、躊ostgreSQL:開(kāi)源
⑤MySQL:開(kāi)源
二、數(shù)據(jù)庫(kù)結(jié)構(gòu)
1.服務(wù)器:用于接收并處理其它程序發(fā)出的請(qǐng)求的程序(軟件),或者是安裝此類(lèi)程序的設(shè)備(計(jì)算機(jī))。
2.客戶(hù)端:向服務(wù)器發(fā)出請(qǐng)求的程序(軟件),或者是安裝此
3、類(lèi)程序的設(shè)備(計(jì)算機(jī))。
3.表(table):類(lèi)似 Excel,由行和列組成的二維表。
4.字段:表的列(垂直方向)。
5.記錄:表的行(水平方向)。【注意】關(guān)系數(shù)據(jù)庫(kù)必須以行為單位進(jìn)行數(shù)據(jù)讀寫(xiě)。
6.單元格:行列交匯處?!咀⒁狻颗c Excel 不同,一個(gè)單元格只能輸入一個(gè)數(shù)據(jù)。
三、SQL 概要
1.SQL 語(yǔ)句:用關(guān)鍵字、表名和列名等組合而成的一條語(yǔ)句。
2.3 種 SQL 語(yǔ)句種類(lèi):
?。?)DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言):創(chuàng)建、刪除或修改數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)中的表等對(duì)象。
①CREA
4、TE:創(chuàng)建數(shù)據(jù)庫(kù)和表等對(duì)象
②DROP:刪除數(shù)據(jù)庫(kù)和表等對(duì)象
?、跘LTER:修改數(shù)據(jù)庫(kù)和表等對(duì)象
(2)DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言):查詢(xún)或修改表中的記錄。
?、賁ELECT:查詢(xún)表中的數(shù)據(jù)
②INSERT:向表中插入數(shù)據(jù)
?、踀PDATE:修改表中的數(shù)據(jù)
?、蹹ELETE:刪除表中的數(shù)據(jù)
(3)DCL(Data Control Language,數(shù)據(jù)控制語(yǔ)言):確認(rèn)或取消對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)變更的執(zhí)行操作,以及對(duì)用戶(hù)的操作數(shù)據(jù)庫(kù)中的對(duì)象權(quán)限進(jìn)行設(shè)定。
5、
①COMMIT:確認(rèn)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行的變更
?、赗OLLBACK:取消對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行的變更
?、跥RANT:賦予用戶(hù)的操作權(quán)限
④REVOKE:取消用戶(hù)的操作權(quán)限
【備注】DML 使用最頻繁。
3.SQL 語(yǔ)句書(shū)寫(xiě)規(guī)范:
①以分號(hào)(;)結(jié)尾;
②大小寫(xiě)不敏感,不區(qū)分關(guān)鍵字的大小寫(xiě);【注意】插入到表中的數(shù)據(jù)是區(qū)分大小寫(xiě)的,如“HI”、“Hi”和“hi”都不同。
③該系列隨筆將采用“關(guān)鍵字大寫(xiě),表名和列名的首字母大寫(xiě)”的格式。
④單詞使用半角空格或換行符隔開(kāi)
4.常數(shù)的書(shū)寫(xiě)方
6、式:
字符串、日期:用單引號(hào)括起來(lái)('),如'Hello','2016-09-24'。
數(shù)字:直接書(shū)寫(xiě),不用加單引號(hào),如:5。
四、創(chuàng)建數(shù)據(jù)庫(kù)與表
1.數(shù)據(jù)庫(kù)創(chuàng)建:
-- 語(yǔ)法:CREATE DATABASE <數(shù)據(jù)庫(kù)名稱(chēng)>
CREATE DATABASE Shop -- 創(chuàng)建名為 Shop 的數(shù)據(jù)庫(kù)
2.表的創(chuàng)建
-- 語(yǔ)法:
-- CREATE TABLE <表名>
-- (
-- <列名1> <數(shù)據(jù)類(lèi)型> <約束>,
-- <列名1> <數(shù)據(jù)類(lèi)型> <約束>,
-- ...
7、
-- <表約束1>,
-- <表約束2>,
-- ...
-- )
-- 創(chuàng)建名為 Shohin 的表
CREATE TABLE Shohin
(
shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER ,
shiire_tanka INTEGER ,
toro
8、kubi DATE ,
PRIMARY KEY (shohin_id)
);
3.命名規(guī)則:
?、僦荒苁褂冒虢怯⑽淖帜浮?shù)字、下劃線(_)作為數(shù)據(jù)庫(kù)、表和列的名稱(chēng);
②規(guī)范要求命名以半角英文字符開(kāi)頭;
?、勖Q(chēng)不能重復(fù)。
4.數(shù)據(jù)類(lèi)型的指定:聲明該列的數(shù)據(jù)類(lèi)型,是一種約束。
5.數(shù)據(jù)類(lèi)型介紹:
①I(mǎi)NTEGER:整型,意味不能存儲(chǔ)小數(shù);
?、贑HAR:字符串型,如 CHAR(10)和 CHAR(100)中的括號(hào)表名該列可以存儲(chǔ)的字符串的最大長(zhǎng)度。它是“定長(zhǎng)字符串”,如 CHAR(8) 表示在列
9、中插入 'abc' 時(shí)會(huì)自動(dòng)保存成 'abc '(后面5個(gè)半角空格)的形式;
?、踁ARCHAR:字符串型,類(lèi)似 CHAR,不同的是它是 “可變長(zhǎng)字符串”,如 VARCHAR(8) 在插入 'abc',保存的就是字符串 'abc';
?、蹹ATE:日期類(lèi)型;
... ...
6.約束:
?、俜强占s束:NULL 是空白(無(wú)記錄)的意思的關(guān)鍵字,NOT NULL 表示必須輸入的約束。
?、谥麈I約束:主鍵是可以確定一行數(shù)據(jù)的列,一般通過(guò)它取特定行的數(shù)據(jù),它是唯一的,不允許重復(fù)。
... ...
五、更新和刪除表
1.刪除表
--
10、 語(yǔ)法:DROP TABLE <表名>
DROP TABLE Shohin; -- 刪除名為 Shohin 的表
【注意】被刪的表,無(wú)法恢復(fù)。
2.更新表
?。?)添加列
-- 語(yǔ)法:ALTER TABLE <表名> ADD <列名> <類(lèi)型>;
ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中添加名為 Shohin_mei_Kana 類(lèi)型為 VARCHAR(100) 的列
?。?)刪除列
-- 語(yǔ)法:ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 刪除 Shohin 表中名為 Shohin_mei_Kana 的列
【注意】表定義變更后無(wú)法恢復(fù)。