1、sql語言的特點
1、綜合統一。 2、高度非過程化。
3、面向集合的操作方式。 4、以同一種語法結構提供多種使用方式
5、語言簡潔、易學易用。
2、sql語言的資料查詢,資料定義,資料操縱功能,這些分別有哪些sql語句?
1、資料定義:定義資料庫中的基本物件、模式(架構)定義、表定義、檢視和索引。
注意:sql(oracle除外)一般不提供修改檢視定義和索引定義的操作,需要先刪除再重建
(1)模式:
定義模式:create schema <模式名》 authorization <使用者名稱》[<表定義子句》|<檢視定義子句》|<授權定義子句》]
例:createschematest authorization zhang
createtabletab1(col1 smallint, col2 int,col3 char(20),col4 numeric(10,3),col5 decimal(5,2));
為使用者zhang建立了乙個模式test,並在其中定義了乙個表tab1。
刪除模式:drop schema <模式名》
cascade(級聯):刪除模式的同時把該模式中所有的資料庫物件全部刪除
restrict(限制); 沒有任何下屬的物件時 才能執行。
(2)表:
定義基本表:create table <表名》
(<列名》 <資料型別》[ <列級完整性約束條件》 ]
[,<列名》 <資料型別》[ <列級完整性約束條件》] ] …
[,<表級完整性約束條件》 ]);
列級完整性約束--涉及到該錶的乙個屬性
表級完整性約束--涉及到該錶的乙個或多個屬性。
例:建立「學生」表student,學號是主碼,姓名取值唯一
create table student
(sno char(9) primary key,/*主碼*/
sname char(20) unique, /* sname取唯一值*/
s*** char(2),sage smallint,sdept char(20));
資料型別
修改基本表:alter table <表名》
[ add <新列名》 <資料型別》 [完整性約束 ] ]
[ drop <列名》 |<完整性約束名》 ]
[ alter column<列名》 <資料型別》 ];
例:向student表增加「入學時間」列,其資料型別為日期型
alter table studentadds_entrance date;
不論基本表中原來是否已有資料,新增加的列一律為空值
將年齡的資料型別由字元型(假設原來的資料型別是字元型)改為整數
alter table studentalter columnsage int;
注:修改原有的列定義有可能會破壞已有資料
增加課程名稱必須取唯一值的約束條件。
alter table course add unique(cname);
直接刪除屬性列:(新標準) 例: alter table studentdrop sage;
刪除基本表:drop table <表名》[restrict| cascade];
restrict:(受限) 欲刪除的基本表不能被其他表的約束所引用,如果存在依賴該錶的物件(觸發器,檢視等),則此表不能被刪除。
例:刪除student表 drop table student cascade ;
基本表定義被刪除,資料被刪除;表上建立的索引、檢視、觸發器等一般也將被刪除 。
(3)索引:
建立索引的目的:加快查詢速度。
dba 或 表的屬主(即建立表的人)(顯式);dbms一般會自動建立以下約束列上的索引(隱式)primary key unique 建立索引。
create [unique] [cluster] index <索引名》
on <表名》 (<列名》[<次序》][,<列名》[<次序》] ]…);
用《次序》指定索引值的排列次序,公升序:asc,降序:desc。預設:asc。
unique表明此索引的每乙個索引值只對應唯一的資料記錄
cluster表示要建立的索引是聚簇索引。索引項順序與表中記錄的物理順序一致。
聚簇索引 cluster
例:create cluster index stusname on student(sname);
在student表的sname(姓名)列上建立乙個聚簇索引,而 且student表中的記錄將按照sname值的公升序存放。
乙個基本表上最多只能建立乙個聚簇索引;在最經常查詢的列上建立聚簇索引以提高查詢效率;經常更新的列不宜建立聚簇索引。
唯一值索引 unique
例:為學生-課程資料庫中的student,course,sc三個表建 立索引
create unique index scno on sc(sno asc,cno desc);
對於已含重複值的屬性列不能建unique索引 。對某個列建立unique索引後,插入新記錄時dbms會自動檢查新記錄在該列上是否取了重複值。這相當於增加了乙個unique約束。
刪除索引 :drop index <索引名》;
刪除索引時,系統會從資料字典中刪去有關該索引的描述。
例: 刪除student表的stusname索引:drop index stusname
2、資料查詢:基本格式
select a1,a2,…,an
from r1,r2,.., rm
where f
資料庫系統概論 緒論 資料庫系統概論(一)
1.1 資料庫系統概論 1.1.1 資料庫系統概論 1.資料 描述事物的符號記錄稱為是資料 資料的解釋叫做語義,他與資料時密不可分的 記錄是計算機中表示和儲存資料的一種格式或者乙個方法 2.資料庫 把資料以一定的格式存放在計算機儲存裝置上的倉庫就是資料庫 共享性 有組織 永久儲存是資料庫的三大特徵 ...
資料庫系統概論總結(三)
繼續以下面的兩個表為例子 city表 country表 2.4 檢視 檢視的建立 1 預設與表一致 create view is city asselect country,country id from country 2 選擇表中的列進行建立 檢視的刪除 drop view is city2 如...
資料庫系統概論實驗三
實驗內容 一 建立sct資料庫 1.建立sct資料庫,資料庫的兩個檔案放在d data資料夾下,2.資料庫資料檔案的初始大小為50m,日誌檔案的初始大小為10m,都按10 增長。建立資料庫語法 create database scton name sct data,filename d data s...