Phiên bản
SELECT banner FROM v$version WHERE banner LIKE 'Oracle%';
SELECT banner FROM v$version WHERE banner LIKE 'TNS%';
SELECT version FROM v$instance;
Chú thích
SELECT 1 FROM dual --comment in line;
SELECT 1
/*
comment in block
line 1
line 2...
*/
FROM dual;
Người dùng hiện tại
SELECT user FROM dual;
SHOW user;
Danh sách người dùng
SELECT username FROM all_users ORDER BY username;
SELECT name FROM sys.user$;
Danh sách mật khẩu đã băm
SELECT name, password, astatus FROM sys.user$;
SELECT name,spare4 FROM sys.user$;
Danh sách quyền
SELECT * FROM session_privs; — current privs
SELECT * FROM dba_sys_privs WHERE grantee = 'DBSNMP'; — priv, list a user's privs
SELECT grantee FROM dba_sys_privs WHERE privilege = 'SELECT ANY DICTIONARY'; — priv, find users with a particular priv
SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS;
Danh sách tài khoản DBA
SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = 'YES'; — priv, list DBAs, DBA roles
CSDL hiện tại
SELECT global_name FROM global_name;
SELECT name FROM v$database;
SELECT instance_name FROM v$instance;
SELECT SYS.DATABASE_NAME FROM DUAL;
Danh sách CSDL
SELECT DISTINCT owner FROM all_tables; — list schemas (one per user)
– Also query TNS listener for other databases. See tnscmd (services | status).
Danh sách cột thuộc tính
SELECT column_name FROM all_tab_columns WHERE table_name = 'blah';
SELECT column_name FROM all_tab_columns WHERE table_name = 'blah' and owner = 'foo';
Danh sách bảng
SELECT table_name FROM all_tables;
SELECT owner, table_name FROM all_tables;
Tìm tất cả các bảng theo tên thuộc tính
SELECT owner, table_name FROM all_tab_columns WHERE column_name LIKE '%PASS%'; — NB: table names are upper case
Lấy dòng thứ N
SELECT username FROM (SELECT ROWNUM r, username FROM all_users ORDER BY username) WHERE r=9; — lấy dòng thứ 9 (các dòng được đánh thứ tự từ 1)
Lấy ký tự thứ N
SELECT substr('abcd', 3, 1) FROM dual; — lấy kí tự thứ 3, 'c'
Chuyển số thành kí tự
SELECT chr(65) FROM dual; — returns A
Chuyển kí tự thành số
SELECT ascii('A') FROM dual; — returns 65
Ép kiểu
SELECT CAST(1 AS char) FROM dual;
SELECT CAST('1' AS int) FROM dual;
Nối chuỗi
SELECT 'A' || 'B' FROM dual; — returns AB
Lệnh If
BEGIN IF 1=1 THEN dbms_lock.sleep(3); ELSE dbms_lock.sleep(0); END IF; END; — doesn't play well with SELECT statements
Lệnh case
SELECT CASE WHEN 1=1 THEN 1 ELSE 2 END FROM dual; — returns 1
SELECT CASE WHEN 1=2 THEN 1 ELSE 2 END FROM dual; — returns 2
Đường dẫn chứa các tập tin CSDL
SELECT name FROM V$DATAFILE;
Tên của container hiện tại
SHOW con_name;
Danh sách các pluggable DB
show pdbs;
Tên của instance-SID hiện tại
select instance_name from v$instance;