sql:結構化查詢語言,是關聯式資料庫的標準語言。sql是乙個通用的、功能極強的關聯式資料庫語言。
結構化查詢語言sql是一種介於關係代數和關係演算之間的語言。sql的主要特點包括:
一、綜合統一
使用者資料庫投入執行後,可根據需要隨時逐步修改模式,不影響資料的執行。
資料操作符統一
二、高度非過程化
模式的刪除
drop schema 《模式名》 < cascade|restrict>
cascade(級聯)
刪除模式的同時把該模式中所有的資料庫物件全部刪除。
restrict(限制)
如果該模式中定義了下屬的資料庫物件(如表、檢視等),則拒絕該刪除語句的執行。
當該模式中沒有任何下屬的物件時才能執行。
基本表的定義
一般格式如下:
create table 《表名》
( 《列名》 《資料型別》 [列級完整性約束條件]
[,《列名》 《資料型別》 [列級完整性約束條件]]
…… [,《表級完整性約束條件》] );
完整性規則主要有三種子句:
主鍵子句(primary key):實體完整性
外鍵子句(foreign key):參照完整性
檢查子句(check):使用者定義完整性
資料型別
模式與表
建立基本表(其他資料庫物件也一樣)時,若沒有指定模式,系統根據搜尋路徑來確定該物件所屬的模式
rdbms會使用模式列表中第乙個存在的模式作為資料庫物件的模式名
若搜尋路徑中的模式名都不存在,系統將給出錯誤
顯示當前的搜尋路徑:show search_path;
搜尋路徑的當前預設值是:$user, public
dba使用者可以設定搜尋路徑,然後定義基本表
set search_path to 「s-t」,public;
create table student(……);
結果建立了s-t.student基本表。
rdbms發現搜尋路徑中第乙個模式名s-t存在,就把該模式作為基本表student所屬的模式。
修改基本表
alter table 《表名》
[ add 《新列名》 《資料型別》 [ 完整性約束 ] ]
[ drop 《完整性約束名》 ]
[ alter column《列名》 《資料型別》 ];
刪除基本表
drop table 《表名》[restrict| cascade];
cascade:刪除該錶沒有限制。
在刪除基本表的同時,相關的依賴物件一起刪除
誰維護索引
dbms自動完成?
使用索引
dbms自動選擇是否使用索引以及使用哪些索引
rdbms中索引一般採用b+樹、hash索引來實現
採用b+樹,還是hash索引,則由具體的rdbms來決定
索引是關聯式資料庫的內部實現技術,屬於內模式的範疇
createindex語句定義索引時,可以定義索引是唯一索引、非唯一索引或聚簇索引
建立索引
語句格式
create [unique] [cluster] index 《索引名》
on 《表名》(《列名》[《次序》][,《列名》[《次序》] ]…);
unique 表明此索引的每乙個索引值只對應唯一的資料記錄。
cluster 表示要建立的索引是聚族索引。
刪除索引
drop index 《索引名》;
刪除索引時,系統會從資料字典中刪去有關該索引的描述。
刪除student表的stusname索引drop index stusname;
(三)關聯式資料庫標準語言 SQL
sql命令的分類 建立資料庫 create database 資料庫名稱 或者 create database 資料庫名 default character set 字符集 collate 校對集 檢視已有的資料庫 show databases 使用已建立的資料庫 use 資料庫名稱 例子 crea...
資料庫系統概論 關聯式資料庫標準語言SQL(3)
sql的資料插入語句insert通常有兩種形式。一種是插入乙個元組,另一種是插入子查詢的結果。後者可以一次插入多個元組。一 插入元組 插入元組 insert into 表名 屬性列1 屬性列2 values 常量1 常量2 其功能是將新元組插入到指定的表中。如果insert子句沒有指明任何屬性列名,...
資料庫複習 2 關聯式資料庫
關聯式資料庫由關係資料結構 關係操作集合和完整性約束組成。關係模型的資料結構只包含關係。具有相同資料型別值的集合 集合運算 關係是笛卡爾積的有限子集,關係也是乙個二維表。對每列起乙個名字,稱為屬性 關係中能唯一標識元組的屬性組稱為候選碼 候選碼的屬性稱為主屬性 選乙個候選碼作為主碼 所有屬性都是候選...