oracle入門基礎語法
阿新 • • 發佈:2018-11-09
1、建立使用者和密碼: create user 使用者名稱 identified by 密碼;
[default tablespace 使用者的預設表空間,用於儲存資料庫物件。如忽略此引數,則預設儲存到SYSTEM表空間]
[temporary tablespace 臨時物件預設儲存的表空間,包括臨時表。如忽略此引數,則預設儲存到SYSTEM表空間];
2、授使用者登入許可權:grant create session to 使用者名稱,使用者名稱;(可多個授權,使用者名稱之間用逗號分隔)
3、修改使用者密碼: alter user 使用者名稱 identified by 密碼;(也可修改當前使用者)
修改當前登入使用者的密碼: password 命令
4、查詢使用者:select 查詢的屬性 from dba_users;
5、刪除使用者:drop user 使用者名稱(cascade);(進行聯級刪除)
6、給使用者賦權:grant 角色名 to 使用者名稱(with admin option);(允許它有賦角色的權利)
7、檢視使用者所擁有的角色: select * from user_role_privs;
select * from session_roles;
8、給使用者賦權:grant 許可權名 to 使用者名稱(with admin option);(允許它有賦權的權利)
9、檢視使用者所擁有的許可權: select * form user_sys_privs
10、撤銷使用者的許可權:revoke 許可權名 form 使用者名稱;
11、建立表空間:create tablespace 表空間名
datafile 表空間路徑
size 表空間大小;
12、建立表: create table 表名
(
列名 型別 資料型別的大小,(若新增該列名為主鍵:constraint 主鍵名 primary key)
列名 型別 資料型別的大小
);
建立表及命名規則:
必須以字母開頭
必須在 1–30 個字元之間
必須只能包含 A–Z, a–z, 0–9, _, $, 和 #
必須不能和使用者定義的其他物件重名
必須不能是Oracle 的保留字
Oracle預設儲存是都存為大寫
必須具備:
create table 許可權
儲存空間
必須指定:
表名
列名, 資料型別, 資料型別的大小
13、查看錶中列的資訊: describe 表名(dos命令列可用)
14、刪除表:drop table 表名;
15、重新命表名:rename 舊錶名 to 新表名;
16、查看錶中行的資訊:select * form 表名;
17、增加列:alter table 表名 add 列名 類名型別 (not null);(是否能為null)
18、增加列,指定預設值:alter table 表名 列名 date default sysdate not null;
19、增加虛列(不可新增到臨時表上): alter table 表名 add (新增的列名 as (一個或多個進行操作的列名));
20、刪除列: alter table 表名
drop column 列名;
21、修改列:alter table 表名
modify 列名 列名型別的大小(精度、型別);
22、修改列的預設值: alter table 表名
modify 列名 default sysdate-1;
23、給列重新命名: alter table 表名 rename column 舊的列名 to 新的列名;
24、新增行:insert into 表名(列名1,列名2,列名3,...)values (值1,值2,值3,...);
25、將行從一個表複製到另一個表:insert into 目標表(列名1,列名2,列名3,...)
select 值1,值2,值3...
from 源表
where 行;
(where後為條件 如不加則是複製所有行)
26、修改表中的行:update 表名 set 列名=值 where 行;
(where後為條件 如不加則是修改所有行)
27、刪除行:delete from 表名 where 行;
(where後為條件 如不加則是刪除所有行)
28、截斷表:truncate table 表名;(注意:只能刪除所有的行和重置表的儲存區域)
29、列出所有的列:select * from 表名;
30、列出指定列:select 列名1,列名2,...from 表名;
31、列出指定列,並改名:selece 列名1 as “要改的名”,列名2 as “要改的名”,...from 表名;(注意:as可省略,“”可省略)
32、將多個列和字串連線一起:select 列名1||列名2 as“字串” from 表名;
select concat(列名1,列名2) as “字串” from 表名;
33、where子句中的字串和日期必須含在單引號中,但數字不能;字元值是區分大小寫的。
34、提交資料: commit;
修改dos命令列的寬度:set linesize;
修改dos命令列的長度:set pagesize;
清空dos命令列:host cls;
35、dual表常用在沒有查詢目標的select語句塊中:select sysdate from dual;
36、日期計算:select to_date(‘日期’)+修改的值 from dual;
select to_date(‘日期’)-修改的值 from dual;
37、SQL運算子可以進行模式匹配,像字串、列表值、NULL值。
like:匹配字串
in:匹配列表值
between:匹配範圍值
is null:匹配空值
is nan:匹配非數字值
同樣可以在上述運算子前加not取反
38、like運算子:
可以使用普通字元及萬用字元進行組合,萬用字元如下:
下劃線(_):表示匹配某個位置的字元
百分號(%):表示在某個位置的任意個字元
39、轉義字元:select 列名 from 表名 where 列名 link ‘%\%%’ escape ‘\’;(將中間的%不作為萬用字元)
40、表中的列的升序排序:select * from 表名 order by 列名;
41、表中的列的降序排序:select * from 表名 order by 列名 desc;
42、使用者輸入查詢:select * from 表名 where 列名=&引數名;
43、查詢使用者下的所有表名: select table_name from user_tables;
[default tablespace 使用者的預設表空間,用於儲存資料庫物件。如忽略此引數,則預設儲存到SYSTEM表空間]
[temporary tablespace 臨時物件預設儲存的表空間,包括臨時表。如忽略此引數,則預設儲存到SYSTEM表空間];
2、授使用者登入許可權:grant create session to 使用者名稱,使用者名稱;(可多個授權,使用者名稱之間用逗號分隔)
3、修改使用者密碼: alter user 使用者名稱 identified by 密碼;(也可修改當前使用者)
修改當前登入使用者的密碼: password 命令
4、查詢使用者:select 查詢的屬性 from dba_users;
5、刪除使用者:drop user 使用者名稱(cascade);(進行聯級刪除)
6、給使用者賦權:grant 角色名 to 使用者名稱(with admin option);(允許它有賦角色的權利)
7、檢視使用者所擁有的角色: select * from user_role_privs;
8、給使用者賦權:grant 許可權名 to 使用者名稱(with admin option);(允許它有賦權的權利)
9、檢視使用者所擁有的許可權: select * form user_sys_privs
10、撤銷使用者的許可權:revoke 許可權名 form 使用者名稱;
11、建立表空間:create tablespace 表空間名
datafile 表空間路徑
size 表空間大小;
12、建立表: create table 表名
(
列名 型別 資料型別的大小
);
建立表及命名規則:
必須以字母開頭
必須在 1–30 個字元之間
必須只能包含 A–Z, a–z, 0–9, _, $, 和 #
必須不能和使用者定義的其他物件重名
必須不能是Oracle 的保留字
Oracle預設儲存是都存為大寫
必須具備:
create table 許可權
儲存空間
必須指定:
表名
列名, 資料型別, 資料型別的大小
13、查看錶中列的資訊: describe 表名(dos命令列可用)
14、刪除表:drop table 表名;
15、重新命表名:rename 舊錶名 to 新表名;
16、查看錶中行的資訊:select * form 表名;
17、增加列:alter table 表名 add 列名 類名型別 (not null);(是否能為null)
18、增加列,指定預設值:alter table 表名 列名 date default sysdate not null;
19、增加虛列(不可新增到臨時表上): alter table 表名 add (新增的列名 as (一個或多個進行操作的列名));
20、刪除列: alter table 表名
21、修改列:alter table 表名
modify 列名 列名型別的大小(精度、型別);
22、修改列的預設值: alter table 表名
modify 列名 default sysdate-1;
23、給列重新命名: alter table 表名 rename column 舊的列名 to 新的列名;
24、新增行:insert into 表名(列名1,列名2,列名3,...)values (值1,值2,值3,...);
25、將行從一個表複製到另一個表:insert into 目標表(列名1,列名2,列名3,...)
select 值1,值2,值3...
from 源表
where 行;
(where後為條件 如不加則是複製所有行)
26、修改表中的行:update 表名 set 列名=值 where 行;
(where後為條件 如不加則是修改所有行)
27、刪除行:delete from 表名 where 行;
(where後為條件 如不加則是刪除所有行)
28、截斷表:truncate table 表名;(注意:只能刪除所有的行和重置表的儲存區域)
29、列出所有的列:select * from 表名;
30、列出指定列:select 列名1,列名2,...from 表名;
31、列出指定列,並改名:selece 列名1 as “要改的名”,列名2 as “要改的名”,...from 表名;(注意:as可省略,“”可省略)
32、將多個列和字串連線一起:select 列名1||列名2 as“字串” from 表名;
select concat(列名1,列名2) as “字串” from 表名;
33、where子句中的字串和日期必須含在單引號中,但數字不能;字元值是區分大小寫的。
34、提交資料: commit;
修改dos命令列的寬度:set linesize;
修改dos命令列的長度:set pagesize;
清空dos命令列:host cls;
35、dual表常用在沒有查詢目標的select語句塊中:select sysdate from dual;
36、日期計算:select to_date(‘日期’)+修改的值 from dual;
select to_date(‘日期’)-修改的值 from dual;
37、SQL運算子可以進行模式匹配,像字串、列表值、NULL值。
like:匹配字串
in:匹配列表值
between:匹配範圍值
is null:匹配空值
is nan:匹配非數字值
同樣可以在上述運算子前加not取反
38、like運算子:
可以使用普通字元及萬用字元進行組合,萬用字元如下:
下劃線(_):表示匹配某個位置的字元
百分號(%):表示在某個位置的任意個字元
39、轉義字元:select 列名 from 表名 where 列名 link ‘%\%%’ escape ‘\’;(將中間的%不作為萬用字元)
40、表中的列的升序排序:select * from 表名 order by 列名;
41、表中的列的降序排序:select * from 表名 order by 列名 desc;
42、使用者輸入查詢:select * from 表名 where 列名=&引數名;
43、查詢使用者下的所有表名: select table_name from user_tables;