Database Connection
CONNECT username/password@hostname:port/SID
CONNECT sys/password AS SYSDBA
DISCONNECT
Basic Queries
SELECT * FROM table_name;
SELECT column1, column2 FROM table_name;
SELECT DISTINCT column1 FROM table_name;
SELECT * FROM table_name WHERE condition;
SELECT * FROM table_name ORDER BY column1 [ASC|DESC];
Filtering
WHERE column = value
WHERE column LIKE 'pattern%'
WHERE column IN (value1, value2)
WHERE column BETWEEN value1 AND value2
WHERE condition1 AND condition2
WHERE condition1 OR condition2
WHERE NOT condition
Joins
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column = table2.column
Aggregation
SELECT COUNT(*) FROM table_name;
SELECT SUM(column) FROM table_name;
SELECT AVG(column) FROM table_name;
SELECT MIN(column), MAX(column) FROM table_name;
SELECT column, COUNT(*) FROM table_name GROUP BY column;
SELECT column, COUNT(*) FROM table_name GROUP BY column HAVING COUNT(*) > 1;
Data Modification
INSERT INTO table_name (col1, col2) VALUES (val1, val2);
UPDATE table_name SET column1 = value1 WHERE condition;
DELETE FROM table_name WHERE condition;
MERGE INTO target_table USING source_table ON (condition)
WHEN MATCHED THEN UPDATE SET col1 = val1
WHEN NOT MATCHED THEN INSERT (col1, col2) VALUES (val1, val2);
Table Management
CREATE TABLE table_name (col1 datatype, col2 datatype);
CREATE TABLE new_table AS SELECT * FROM existing_table;
ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name MODIFY column_name new_datatype;
DROP TABLE table_name;
TRUNCATE TABLE table_name;
Indexes
CREATE INDEX index_name ON table_name (column);
CREATE UNIQUE INDEX index_name ON table_name (column);
DROP INDEX index_name;
Views
CREATE VIEW view_name AS SELECT columns FROM table WHERE condition;
CREATE OR REPLACE VIEW view_name AS SELECT columns FROM table WHERE condition;
DROP VIEW view_name;
Sequences
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1;
SELECT seq_name.NEXTVAL FROM dual;
SELECT seq_name.CURRVAL FROM dual;
DROP SEQUENCE seq_name;
PL/SQL Basics
DECLARE
variable_name datatype [:= value];
BEGIN
-- statements
EXCEPTION
WHEN exception_name THEN
-- handler
END;
Cursors
DECLARE
CURSOR cursor_name IS SELECT statement;
BEGIN
OPEN cursor_name;
FETCH cursor_name INTO variables;
CLOSE cursor_name;
END;
Stored Procedures
CREATE OR REPLACE PROCEDURE proc_name (param1 IN datatype, param2 OUT datatype)
IS
BEGIN
-- procedure body
END;
/
EXEC proc_name(param1_value, param2_value);
Functions
CREATE OR REPLACE FUNCTION func_name (param1 IN datatype) RETURN datatype
IS
return_value datatype;
BEGIN
-- function body
RETURN return_value;
END;
/
SELECT func_name(param1) FROM dual;
Triggers
CREATE OR REPLACE TRIGGER trigger_name
BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
[FOR EACH ROW]
BEGIN
-- trigger body
END;
/
DROP TRIGGER trigger_name;
Transactions
COMMIT;
ROLLBACK;
SAVEPOINT savepoint_name;
ROLLBACK TO savepoint_name;
SET TRANSACTION READ ONLY;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Performance Tuning
EXPLAIN PLAN FOR SELECT statement;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
CREATE INDEX index_name ON table_name(column1, column2);
ANALYZE TABLE table_name COMPUTE STATISTICS;
User Management
CREATE USER username IDENTIFIED BY password;
ALTER USER username IDENTIFIED BY new_password;
GRANT privilege_name ON object_name TO username;
REVOKE privilege_name ON object_name FROM username;
DROP USER username [CASCADE];
Export/Import
-- Data Pump Export
expdp username/password DIRECTORY=dir_name DUMPFILE=file_name.dmp SCHEMAS=schema_name
-- Data Pump Import
impdp username/password DIRECTORY=dir_name DUMPFILE=file_name.dmp SCHEMAS=schema_name
Common Functions
-- String
UPPER(), LOWER(), INITCAP(), CONCAT(), SUBSTR(), LENGTH(), INSTR(), TRIM(), REPLACE()
-- Numeric
ROUND(), TRUNC(), MOD(), ABS(), CEIL(), FLOOR(), POWER(), SQRT()
-- Date
SYSDATE, ADD_MONTHS(), MONTHS_BETWEEN(), LAST_DAY(), NEXT_DAY(), TRUNC(), ROUND()
-- Conversion
TO_CHAR(), TO_NUMBER(), TO_DATE(), CAST()
-- NULL handling
NVL(), NVL2(), COALESCE(), NULLIF()
System Views
SELECT * FROM all_tables;
SELECT * FROM all_tab_columns;
SELECT * FROM all_views;
SELECT * FROM all_indexes;
SELECT * FROM all_constraints;
SELECT * FROM all_sequences;
SELECT * FROM all_users;
SELECT * FROM v$session;
SELECT * FROM v$database;
Generated from Deepseek Ai
Comments
Post a Comment