Skip to main content

SQL command

NameTypeContentDescription
*MySQLSELECT DISTINCT age FROM students;Return distinct values
mysqldump remoteMySQLmysqldump -u root -p$PASS -h $HOST --no-create-info --no-tablespaces --where="created_at >= 1647450000 AND created_at < 1648918800" delivery_partner orders > dump.sqlDump remote MySQL
mysql execute remoteMySQLmysql -h $HOST -u root -p$PASS --default-character-set=utf8mb4 $DB < update_2022_17_03.sqlExecute query on remote MySQL
mysql loginMySQLmysql -u root -pLogin to MySQL
mysqldump backupMySQLmysqldump -P 3306 -h [ip_address] -u [username] -p db_name > db_backup.sqlBackup database
ALTER USERMySQLALTER USER user IDENTIFIED BY 'MoWwYFeWtCzzT43';Change password
GRANT PRIVILEGESPostgreSQLGRANT ALL PRIVILEGES ON . TO 'username'@'localhost' IDENTIFIED BY 'password';Grant privileges
SELECT version()PostgreSQLSELECT version();Check version
pg_indexesPostgreSQLSELECT * FROM pg_indexes WHERE schemaname LIKE 'vexe%' AND tablename LIKE '%orders%';Find indexes
ALTER USERPostgreSQLALTER USER user_name WITH PASSWORD 'new_password';Change password
SHOW max_connectionsPostgreSQLSHOW max_connections;Show max connections
pg_stat_activityPostgreSQLSELECT * FROM pg_stat_activity;Show active connections
setval sequencePostgreSQLSELECT pg_catalog.setval(pg_get_serial_sequence('search_requests', 'id'), (SELECT MAX(id) FROM search_requests) + 1000);Increase sequence by arbitrary number
connection statsPostgreSQLSELECT datname, count(datname) FROM pg_stat_activity GROUP BY datname ORDER BY datname;Statistics of active connections
CREATE INDEXPostgreSQLCREATE UNIQUE INDEX orders_pkey ON vexe.orders USING hash/btree (id);Create index
DROP INDEXPostgreSQLDROP INDEX idx_department_id;Drop index
CHECK constraintPostgreSQLCREATE TABLE person (name text, current_mood text CHECK (current_mood IN ('sad','ok','happy'))); ALTER TABLE person DROP CONSTRAINT person_current_mood_check; ALTER TABLE person ADD CONSTRAINT person_current_mood_check CHECK (current_mood IN ('sad','happy')) NOT VALID; ALTER TABLE person VALIDATE CONSTRAINT person_current_mood_check;Add and modify CHECK constraint
CREATE INDEXOracleCREATE INDEX FILM_QUERY_INDX1 ON FILM_QUERY(PAY_CODE);Create index
EXPLAIN PLANOracleEXPLAIN PLAN FOR SELECT * FROM FILM_QUERY fq ORDER BY CREATED_DATE DESC;Explain query
DBMS_XPLAN.DISPLAYOracleSELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);Show explain result
all_indexesOracleSELECT index_name, index_type, visibility, status, table_name, owner FROM all_indexes WHERE table_name = 'FILM_QUERY';Show indexes
DROP INDEXOracleDROP INDEX ord_customer_ix_demo;Drop index
index sizeOracleSELECT idx.index_name, seg.TABLESPACE_NAME, idx.TABLE_NAME, idx.INDEX_TYPE, SUM(bytes)/1024/1024 AS MB FROM USER_SEGMENTS seg, USER_INDEXES idx WHERE idx.index_name = seg.segment_name GROUP BY idx.index_name, seg.TABLESPACE_NAME, idx.TABLE_NAME, idx.INDEX_TYPE ORDER BY MB DESC;Check index size
user_tab_partitionsOracleSELECT table_name, partition_name, last_analyzed, high_value FROM user_tab_partitions WHERE table_name = 'Table_Name' ORDER BY last_analyzed DESC;Show partitions
table sizeOracleSELECT DS.TABLESPACE_NAME, SEGMENT_NAME, ROUND(SUM(DS.BYTES)/(1024*1024)) AS MB FROM USER_SEGMENTS DS WHERE SEGMENT_NAME IN (SELECT TABLE_NAME FROM USER_TABLES) GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME ORDER BY MB DESC;Check table size
v$versionOracleSELECT * FROM v$version;Check version
CREATE MATERIALIZED VIEWOracleCREATE MATERIALIZED VIEW MV_APPROVED_TRANS_SUMMARY AS SELECT * FROM TABLE;Create materialized view
DBMS_MVIEW.REFRESHOracleBEGIN DBMS_MVIEW.REFRESH('MATERIALIZED_VIEW_NAME','C'); END;Refresh materialized view (C=Complete, F=Fast, FORCE=Auto)
USER_MVIEWSOracleSELECT mview_name, last_refresh_date, refresh_mode, refresh_method, last_refresh_type FROM USER_MVIEWS WHERE mview_name = 'MV_APPROVED_TRANS_SUMMARY';Check materialized view status
CREATE PARTITIONOracleCREATE TABLE sales (sale_id NUMBER, sale_date DATE, amount NUMBER) PARTITION BY RANGE (sale_date) (PARTITION sales_q1 VALUES LESS THAN (TO_DATE('01-APR-2025','DD-MON-YYYY')), PARTITION sales_q2 VALUES LESS THAN (TO_DATE('01-JUL-2025','DD-MON-YYYY')), PARTITION sales_q3 VALUES LESS THAN (TO_DATE('01-OCT-2025','DD-MON-YYYY')), PARTITION sales_q4 VALUES LESS THAN (MAXVALUE));Create partition
ADD PARTITIONOracleALTER TABLE sales ADD PARTITION sales_q5 VALUES LESS THAN (TO_DATE('01-JAN-2026','DD-MON-YYYY'));Add partition