必殺技———SQL基礎整理系列(一)

  SQL(Structured Query Language)——結構化查詢語言數據庫

  SQL語言的組成部分數據結構

  • 數據定義語言 (DDL:Data Definition Language)

  負責數據結構定義與數據庫對象定義的語言,由CREATEALTERDROP三個語法所組成,操做的對象包括關係表、視圖、索引等。函數

  • 數據操縱語言(DML: Data Manipulation Language)

  其語句包括動詞SELECT查詢)、INSERT添加)、UPDATE修改)、DELETE刪除)表中的行。spa

  • 數據控制語言(DCL: Data Control Language)

  其中包含可對數據訪問權進行控制的指令,由 GRANT REVOKE 兩個指令組成。rest

  • 事務處理語言(TPL: Transaction Processing Language)

  它的語句能確保被DML語句影響的表的全部行及時得以更新包括BEGIN TRANSACTION, COMMITROLLBACKcode


  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

  關係模式 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

  關係模式 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  

  關係模式 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查詢語句,敬請關注!

相關文章
相關標籤/搜索