基本表索引
定義刪除
sql: structured query language
sql是一種介於關係代數和關係演算之間的結構化查詢語言。
功能:
分類:
特點:
其中:
模式:
要建立模式,呼叫該命令的使用者必須擁有dba許可權,或者獲得了dba授予的create schema的許可權。
語法:
/* sql大小寫不敏感,大寫、小寫、大小寫都可以*/
/*為使用者wang定義乙個模式名為s_t的模式*/
create
schema s_t authorization wang;
/*刪除模式test*/
/*cascade 級聯 刪除模式的時候同時把該模式中所有的資料庫物件全部刪除*/
drop
schema test cascade
;/*restrict 限制 當模式中沒有資料庫物件時才能執行,如果有物件則拒絕執行*/
drop
schema test restrict
;
create
table 表名(
列名 資料型別 [列級完整性約束條件]
, 列名 資料型別 [列級完整性約束條件]
, 列名 資料型別 [列級完整性約束條件]
, ……
[表級完整性約束條件]
);
其中,
資料型別:
約束的型別:
如果完整性約束條件設計表的多個屬性列,則必須定義在表級上,否則既可以定義在列級,也可以定義在表級。
primary key:主碼
主碼不能重複,不能為空
create
table student(
/*constraint 是定義約束名字,不加系統會自動起名字*/
sno char(9
)constraint pk_s_sno primary
key)
;/*或者表級*/
create
table student(
sno char(9
),sname char(9
),constraint pk_s_sno primary
key(sno,sname)
);
null/ not null :空 / 非空約束是否可以為空值,預設可以為空值。
create
table student(
sno char(9
)primary
key,
sname varchar(20
)not
null
/*只能在列級定義*/
);
unique約束:唯一值不能有重複值。
create
table student(
sno char(4
)primary
key,
sname varchar(20
)unique);
/*或者表級*/
create
table student(
sno char(4
)primary
key,
sname varchar(20
),constraint uq_s_sname unique
(sname)
);
check 約束:檢查值是否在域中。
create
table student(
sno char(4
)primary
key,
s*** char(2
)check
(s*** in
('男'
,'女'))
);/*或者表級*/
create
table student(
sno char(4
)primary
key,
s*** char(2
),check
(s*** in
('男'
,'女'))
);
foreign key約束:約束值在另乙個錶主碼中有對應的值或者全為空。
create
table student(
sno char(4
)primary
key,
steacher varchar(20
)references teacher(tno));
/*或者表級*/
create
table student(
sno char(4
)primary
key,
steacher varchar(20
),foreign
key(steacher)
references teacher(tno)
);
default約束:預設值
create
table student(
sno char(4
)primary
key,
steacher varchar(20
)default
'未定');
/*sql serve 不允許在建立表時建立表級的default約束,但可以在修改表屬性的時候增加表級的default約束*/
alter
table 表名
add 新列名 資料型別 [完整性約束定義]
/*新增新列*/
add 表級完整性約束 /*新增完整性約束*/
alter
column 列名 資料型別 /*修改列的資料型別*/
drop 完整性約束 /*刪除完整性約束*/
注意,使用add方式新增的新列自動補充null值,所以當表中有資料時增加的新列不能指定not null約束.使用表級完整性約束設定預設值:
/*為student的sage設定預設值為18*/
alter
table student add
default
18for sage;
drop
table 表名 [
restrict
/cascade
]
注意:索引是一種資料結構,是對照表、指標表,是為了加速對錶中元祖的檢索而建立的一種分散儲存的結構,是對錶而建立的,由除存放表的資料頁面以外的索引頁面組成,加快了查詢速度,減慢了更新速度
按照索引記錄存放位置
唯一索引:
復合索引:
rdbms中索引一般採用b+樹、hash索引來實現。
create
[unique]/
[cluster]
index 索引名 on 表名(
列名 [
asc]/[
desc],
……);
asc和desc是次序,asc為公升序,預設值;desc為降序。
unique為唯一索引,cluster為聚集索引。
注意:
drop
index 索引名
刪除索引時,系統會從資料字典中刪去有關改索引的描述。 資料庫基礎介紹(5)SQL儲存過程詳細介紹及語法
目錄 一 簡介 二 例項 1.不帶引數的儲存過程 2.資料查詢功能不帶引數的儲存過程 3.帶有輸入引數的儲存過程 4.求階乘之和 5.帶有輸入引數的資料查詢功能的儲存過程 6.帶有條件判斷的插入功能的儲存過程 7.儲存過程的自動執行 8.監控儲存過程 建立儲存過程 sql server建立儲存過程 ...
資料庫學習 DDL(資料庫定義語言)
create database if not exists 庫名 說明 if not exists的存在為了保證資料庫是唯一的,同時保證程式不阻塞drop database if exists 庫名 說明 if exists 為保證程式不阻塞show create table 表名 展示建立表的時候...
DDL(資料庫使用)
1.庫的建立 建立資料庫 create database dbname 資料庫名 建立資料庫,字符集設定為utf 8 create database base2 character set utf8 2.檢視資料庫 檢視所有的資料庫 show databases 檢視某個庫的建立資訊 show cr...