Oracle --慕課網學習

li123456
慕課網學習
Oracle學習
1.scott默認密碼是tiger。
2.使用系統用戶登陸
[username/password][@server][as sysdba|sysoper]
若是數據庫不是安裝在本機上,則須要輸入 服務器名或IP地址;若是登錄的用戶是sys,則須要使用sysdba或sysoper這兩個登錄權限。
3.SQL不區分大小寫
4.查看登錄用戶,使用show user命令。
5.經過數據字典 dba_users來查看一些信息。命令desc dba_users。查看數據字典中包含哪些用戶,使用命令 select username from dba_users;
6.啓用用戶的語句 alter user username account unlock
7.SQL語句必須以;結尾。
8.Oracle表空間分類:永久表空間、臨時表空間、UNDO表空間。UNDO表空間保存的是事物修改表的舊址,主要用於表被修改以前的數據,一般用於表的撤銷、回滾。
9.查看用戶表空間。經常使用兩個字典dba_tableapaces和user_tablespaces,前者用於系統用戶查看錶空間,後者用於普通用戶查看錶空間。
10.查看普通用戶表空間 select tablespace_name from user_tablespaces;
11.dba_users、user_users。前者是系統管理員級別能夠查看的數據字典,後者是普通用戶級別能夠查看的數據字典。
12.更改用戶的默認或臨時表空間
alter user username default/temporary tabelspace tabelspace_name;
13.建立表空間
create tablespace tablespace_name datafile 'xx.dbf' size xx;
14.認識表
1>每一列數據都必須具備相同的數據類型。
2>列名惟一。
3>每行數據惟一。
15.表中的數據類型
1>字符型
1-1 char(n)和nchar(n),他們都是固定長度類型。n是長度,若是你只存入3個長度的數據,則浪費了7個空間。char和nchar的區別:nchar他是按照uicode格式存放數據,通常狀況下用nchar類型存儲漢字。
1-2 varchar2(n)和nvarchar2(n),他們是可變長度數據類型。
2>數值型
2-1 number(p,s),p是指有效數字,s小數點後面的位數/或是一個範圍,若是s是正數,他表示小數點後的位數;若是是負數,則表示小數點前面的數到小數點的位數。例如 number(5,2) 表示有效位數是5位,保留2位小數,例如123.45
2-2 float(n) 主要用於存儲二進制數據。他能表示的二進制的位數是1到127.
3>日期型
3-1 date類型,其範圍精確到秒。
3-2 timestamp 精確到 秒級如下
4>其餘類型
4-1 blob 存放二進制 4GB
4-2 clob 存放字符串 4GB
16.管理表
1-1 建立表
create table table_name(column_name datatype,……);
上述的column_name 表示列名;datatype 表示列的類型。
舉個例子:用戶信息表
所需字段  編號   用戶名 密碼 郵箱 註冊時間
字段類型  number varchar            date
1-2 修改表
1-2-1 添加字段(列)
alter table table_name add column_name datatype;
1-2-2 更改字段數據類型
alter table table_name modify column_name datatype; 修改空間或字段類型
1-2-3 刪除字段
alter table table_name drop column column_name;
1-2-4 修改字段名
alter table table_name rename column column_name to newcolumn_name;
1-2-5 修改表名
rename table_name to new_table_name;
1-3 刪除表
1-3-1 drop table table_name;
17.操做表中的數據
1.添加數據,向表中全部字段添加值
insert into table_name(column1,column2,……) values(value1,value2,……)
例如,向表中全部字段添值。
insert into userinfo values(1,'xxx');
1-1 查看錶中全部字段值
select * from table_name;
1-2 向表中指定字段添加值
insert into tabel_name(z指定字段1,指定字段2) values(值1,值2);
1-3 查看錶中指定字段值
select 指定字段1,指定字段2 from table_name;
1-4 複製表數據,兩種方法
1-4-1 建表時複製
create table table_new as select column1,……| *from table_old
1-4-2 添加值時複製
insert into table_new [(column1,column2,……)] select column1,column2,……| * from table_old;
2.修改數據
update語句
update table_name set column1=value1,……[where conditions] 若是不加[]的話,表示修改表中這一列全部的數據。
3.刪除數據
delete語句
delete from table_name [where conditons]; 不加[]是刪除表中所有的數據.
18.約束
18-1 非空約束
在建立表時設置非空約束
create table table_name(column_name datatype not null……);
在修改表時添加非空約束
alter table table_name modify column_name datatype not null;
在修改表時去除非空約束
18-2 主鍵約束
主鍵約束做用:確保表當中每一行數據的惟一性。主鍵字段是非空、惟一的。一張表只能設計一個主鍵約束,主鍵約束能夠由多個字段構成(聯合主鍵或複合主鍵).
18-2-1 在建立表時設置主鍵約束
create table table_name(column_name datatype primary key ……);
18-3 外鍵約束
18-3-1 在建立表時設置外鍵約束
create table table_name(column_name datatype references table2(column_name datatype)); 其中table2稱爲主表,table1稱爲從表。設置外鍵約束時,主表的字段必須是主鍵。主從表中相應字段必須是同一種數據類型。從表中外鍵字段的值必須來自主表中的相應的字段值。
18-4 惟一約束
做用:使設置了惟一約束的字段保證其字段值的惟一性。
惟一約束和主鍵約束的區別:
1>主鍵在每張表中只能有一個,惟一約束在每張表中能夠有多個。
create table table_name(column_name datatype unique,……)
18-5 檢查約束
檢查約束做用:讓表中的值更加具備實際意義。
在建立表時設置檢查約束
create table table_name(column_name datatype check(expressions));
19.查詢
19-1 基本查詢語句
select [distinct] column_name1,…… from table_name [where conditions] [distinct]表示去掉重複的行
19-2 設置查詢結果顯示格式
19-2-1 更改顯示的字段名,這裏只是修改查詢後結果表裏面的字段名,不是修改查詢表中的字段名。
column column_name heading new_name;
19-2-2 設置結果顯示格式
column column_name format dataformat;
19-2-3 清除以前設置過的格式
column column_name clear;
19-3 查詢表中全部值段以及指定字段
19-3-1 查詢全部字段
select * from table_name;
19-3-2 查詢指定字段
select column1_name from table_name;
19-3-3 給字段名設置別名
select column_name as new_name from table_name;
19-4 運算符和表達式
select id,username,salary+200 from users;
運算符只能影響結果表中的數據,並不能影響原表中的數據,若是要修改原表中的數據,只能使用update語句
19-5 比較運算符
select id,username from table_name where salary>2000;
19-6 使用邏輯運算符
select id,username from table_name where salary>2000 and salary<>3000;
19-6 帶條件的查詢
19-6-1 帶單一條件的查詢
select username,salary from username = 'panda';
19-6-2 多條件的查詢,使用邏輯運算符
select username from table_name where username = 'panda' or salary > 2000;
19-7 模糊查詢
19-7-1 好比只知道某個字段中含有a字符,但不知道該字段名的全名,這時候就採用模糊查詢.模糊查詢使用關鍵字like。
19-7-2 通配符的使用
- 表示只能表明一個字符。
% 能夠表明0到多個任意字符。
例如:查找用戶名中第一個字符以p開頭的全部用戶名字
select * from table_name where username like 'p%';
例如,查找用戶名中第二個字符以a開頭的全部用戶名字
select * from table_name where username like '_a%';
例如,查詢用戶名中含有a字符的用戶名字
select * from table_name where username like '%a%';
19-8 範圍查詢
19-8-1 例如,查詢工資在800到2000之間的員工工資
where salary >=800 and salary <=2000;
此次採用between……and操做符
where salary between 800 and 2000;
19-8-2 in操做符,它等價於用或運算符連接的表達式
例如,查詢用戶名是aaa或bbb的用戶名
select * from tablename where username in('aaa','bbb');
19-9 對查詢結果進行排序
select * from table_name [where ……] order by column1 desc/asc;
19-10 case……when語句 根據字段不一樣的值顯示不一樣的結果
case column_name when value1 then result1,……[else result] end;
19-20 decode函數的使用
decode(column_name,value1,result1,……,defaultvalue);
若是用戶名是'aaa',則寫成'計算機部門',若是是'bbb',則寫成'網絡部門',不然寫成'市場部分'
select username,decode(column_name,'aaa','計算機部門','bbb','網絡部門','其餘');數據庫

相關文章
相關標籤/搜索