SQL(Structured Query Language)——結構化查詢語言數據庫
SQL語言的組成部分數據結構
負責數據結構定義與數據庫對象定義的語言,由CREATE、ALTER、DROP三個語法所組成,操做的對象包括關係表、視圖、索引等。函數
其語句包括動詞SELECT(查詢)、INSERT(添加)、UPDATE(修改)、DELETE(刪除)表中的行。spa
其中包含可對數據訪問權進行控制的指令,由 GRANT 和 REVOKE 兩個指令組成。rest
它的語句能確保被DML語句影響的表的全部行及時得以更新。包括BEGIN TRANSACTION, COMMIT 和 ROLLBACK。code
SQL數據基本定義功能——定義模式對象
CREATE SCHEMA <模式名> AUTHORIZATION <用戶名>
blog
例子:定義一個學生-課程模式索引
Create schema "S-T" authorization Zhang 事務
不指明模式名則隱含爲 模式名爲用戶名
Create schema authorization Zhang
CREATE SCHEMA <模式名> AUTHORIZATION <用戶名> [<表定義子句> | <視圖定義子句> | <受權定義子句>]
例子:
Create schema test authorization Zhang create table Tab1(A1 int, A2 char(10), A3 char(20))
SQL數據基本定義功能——刪除模式
DROP SCHEMA <模式名> <CASCADE|RESTRICT>
例子:
Drop schema Zhang cascade
最最經常使用的在這裏啦!!!
SQL數據基本定義功能——建立表
CREATE TABLE 表名 (<列名1> 數據類型 [列級約束], [<列名2> 數據類型 [列級約束],] ……, [表級約束])
例子:
關係模式 Students ( Sno, Sname, Ssex, Sage, Sdept )
Create table Students (Sno char(11), Sname char(20), Ssex char(2), Sage int, Sdept char(20), primary key(Sno))——————————————————這種是表級約束
Create table Students (Sno char(11)primary key, ——————————————————————這是列級約束 Sname char(20), Ssex char(2), Sage int, Sdept char(20))
關係模式 Courses ( Cno, Cname, Cpno, Ccredit )
Create table Courses (Cno char(4), Cname char(40), Cpno char(4), Ccredit int, primary key (Cno),——————————————————————————————這是表級約束 Foreign Key (Cpno) REFERENCES Courses(Cno))—————這是定義外鍵
關係模式 SC ( Sno, Cno, Grade )
Create table SC ( Sno char(9), Cno char(4), Grade int, Primary key(Sno,Cno), foreign key (Sno) references Students (Sno), foreign key (Cno) references Courses (Cno))
SQL數據基本定義功能——數據類型
char(n) | 固定長度爲n的字符串 |
varchar(n) | 可變長度爲n的字符串 |
smallint | 短整數 |
int | 長整數 |
numberic(p,s) | 定點數。由p位數字組成,包括s位小數 |
float(n) | 精度至少爲n位數字的浮點數 |
real | 取決於機器精度的浮點數 |
double precision | 取決於機器精度的雙精度浮點數 |
date | 日期,格式爲年、月、日,YYYY-MM-DD |
time | 時間,格式爲時、分、秒,HH-MM-SS |
SQL數據基本定義功能——表的修改
添加列|完整性約束:
ALTER TABLE <表名> ADD <列名> <數據類型> [完整性約束]
刪除列|完整性約束:
ALTER TABLE <表名> DROP <列名> <數據類型> [完整性約束]
修改列:
ALTER TABLE <表名> ALTER COLUMN <列名> <數據類型>
例子:
在學生表中添加字段Sclass,字符類型,長度20
Alter table Students add Sclass char(20)
將年齡的數字類型由字符型改成整型
Alter table Students alter coiumn Sage int
增長課程名稱必須取惟一值的約束條件
Alter table Courses add unique (Cname)
SQL數據基本定義功能——表的刪除
Drop table <表名> [restrict | cascade]
Restrict: (嚴格刪除)表刪除有限制條件,不能被其餘表的約束所引用,不能有視圖、觸發器、存儲過程或函數
Cascade: (級聯刪除)把一個基本表的定義連同表上的全部記錄、索引以及由此基本表導出的全部視圖都刪除,並釋放相應的存儲空間
例子:
Drop table Students cascade
老是晚上纔有時間碼字,不積跬步,無以致千里,基礎仍是很重要的,下一篇開始介紹SQL查詢語句,敬請關注!