Oracle學習第二天

約束

1.約束的作用
定義規則、確保完整性
2.非空約束
①在創建表時設置非空約束
create table [table_name](column_name datatype not null,...)
②在修改表時添加非空約束
alter table [table_name] MODIFY column_name datatype not null
③在修改表時去除非空約束
alter talbe [table_name] modify column_name datatype null
3.主鍵約束
確保表中每一行數據唯一性(非空、唯一)
一張表只能設計一個主鍵約束
主鍵約束可以由多個字段構成(聯合主鍵或複合主鍵)
①在創建表時設置主鍵約束
第一種:create table [table_name](column_name datatype PRIMARY KEY,...)
第二種:constraint constraint_name(約束的名字) primary key(column_name1,...)(在創建表的結束位置寫)
②在修改表時添加主鍵約束
add constraint constraint_name primary key(column_name1,...)
rename constraint old_name to new_name(修改約束的名稱)
③刪除主鍵約束
disable|enable constraint constraint_name(禁用和啓用約束)
drop constraint constraint_name(刪除約束)
drop primary key[cascade](刪除主鍵約束 cascade:級聯刪除 可選項)
4.外鍵約束
①在創建表時設置外鍵約束
方法一:create table table1(column_name datatype references table2(conlumn_name),...)(table1:從表  table2:主表 注:設置外鍵的字段必須是主表中的主鍵,主從表中相應的字段必須是同一個數據類型)(列級約束)
方法二:constraint constraint_name foreign key(column_name) references table_name(column_name)[on delete cascade](表級約束)
②在修改表時添加外鍵約束
add constraint constraint_name foreign key(column_name) references table_name(column)[on delete cascade]
③刪除外鍵約束
disable|enable constraint constraint_name(禁用或啓用約束)
drop constraint constraint_name(刪除約束)
5.唯一約束
①唯一約束和主鍵約束的區別
主鍵字段值必須是非空的
唯一約束可以允許有一個空值
主鍵在每一張表只能有一個
唯一約束可以在每一張表可以有多個
②在創建表時設置唯一約束
create table table_name(column_name datatype unique)(列級)
constraint constraint_name unique(conlumn_name)(表級)
③在修改表時添加唯一約束
add constraint constraint_name unique(column_name)
④刪除唯一約束
disable|enable constraint constraint_name(禁用或啓用約束)
drop constraint constraint_name(刪除約束)
6.檢查約束(表中的值更有意義)
①在創建表時設置檢查約束
create table table_name(column_name datatype check(expressions),...)(列級約束)
constraint constraint_name check(expressions)(表級約束)
②在修改表時添加檢查約束
add constraint constraint_name check(expressiongs)
③刪除檢查約束
disable|enable constraint constraint_name(禁用或啓用約束)
drop constraint constraint_name(刪除約束)

查詢

1.基本查詢語句
select [distinct] column_name1,...|* from table_name [where conditions]
2.在sql plus 中設置格式
column column_name heading new_name(更改查詢後的字段名,並不是真正的更改表中的字段名)(column可以簡寫成col)
column column_name format dataformat(設置結果顯示的格式)
column conlumn_name clear(清除設置的格式)
3.查詢表中的所有字段及指定字段
select * from table_name
select column_name1,...from table_name
4.給字段設置別名
select column_name as new_name from table_name(as可以省略)
5.運算符和表達式
算術運算符(+,-,*,/)
比較運算符(>,>=,<,<=,=,<>)
邏輯運算符(and,or,not)
6.在select語句中運用運算符
①select id,username,salary+200 from users;
②select * from users where salary>800;
③select * from users where salary>800 and salary<1000;
7.帶條件的查詢
①單一條件查詢
②多條件查詢
③邏輯運算符的優先級:按not、and、or的順序依次遞減

8.模糊查詢
①通配符的使用(-,%)
②使用like查詢
9.範圍查詢
between..and..
in()/not in()
10.排序
order by  desc/asc
11.case..when語句的使用
case column_name when value1 then result1,...[else result] end
例:select username,case username when 'aaa' then '計算機部門' when 'bbb' then '市場部門' else '其他部門' end as 部門 from users;


case when column_name=value1 then result1,...[else result] end;
12.decode語句的使用
decode(column_name,value1,result1,..,defaultvalue);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章