SQL查詢語句有哪些
查詢語句只有一種SELECT 。
FROM WHERE 。 (GROUP BY 。
ORDER BY 。)只是根據想要的結果不一樣,而查詢的內容會稍有修改。
比如FROM的表名,可以不是一張表,而是一個SELECT查詢的結果作為一張表。同樣,查詢統計分組匯總,可以增加SUM(), MIN(), MAX()等函數配合group by使用進行分組統計。
WHERE 條件除了簡單的連接之外,也有IN, NOT IN, EXISTS, NOT EXISTS等。還有,兩個SELECT集合可以使用UNION, UNION ALL, MINUS等進行集合的加或者減的操作。
總之如果是查詢,就離不開SELECT 。 FROM 。
WHERE。 這樣的基本形式。
sql如何查詢語句的格式怎么寫
VF常用SQL語句大全 SQL是結構化查詢語言,查詢是SQL語言的重要組成部分,但不是全部,SQL還包括數據定義,數據操縱和數據控制功能等部分。
如今SQL已成為關系數據庫的標準數據語言,所以現在的關系數據庫管理系統都支持SQL。 FOXPRO從2。
5 FOR DOS版式就開始支持SQL,現在VISUAL FOXPRO當然在之方面更加完善,以下是VF經常用到SQL語句。 --語 句 功 能--數據操作SELECT --從數據庫表中檢索數據行和列INSERT --向數據庫表添加新數據行DELETE --從數據庫表中刪除數據行UPDATE --更新數據庫表中的數據--數據定義CREATE TABLE --創建一個數據庫表DROP TABLE --從數據庫中刪除表ALTER TABLE --修改數據庫表結構CREATE VIEW --創建一個視圖DROP VIEW --從數據庫中刪除視圖CREATE INDEX --為數據庫表創建一個索引DROP INDEX --從數據庫中刪除索引CREATE PROCEDURE --創建一個存儲過程DROP PROCEDURE --從數據庫中刪除存儲過程CREATE TRIGGER --創建一個觸發器DROP TRIGGER --從數據庫中刪除觸發器CREATE SCHEMA --向數據庫添加一個新模式DROP SCHEMA --從數據庫中刪除一個模式CREATE DOMAIN --創建一個數據值域ALTER DOMAIN --改變域定義DROP DOMAIN --從數據庫中刪除一個域--數據控制GRANT --授予用戶訪問權限DENY --拒絕用戶訪問REVOKE --解除用戶訪問權限--事務控制COMMIT --結束當前事務ROLLBACK --中止當前事務SET TRANSACTION --定義當前事務數據訪問特征--程序化SQLDECLARE --為查詢設定游標EXPLAN --為查詢描述數據訪問計劃OPEN --檢索查詢結果打開一個游標FETCH --檢索一行查詢結果CLOSE --關閉游標PREPARE --為動態執行準備SQL 語句EXECUTE --動態地執行SQL 語句DESCRIBE --描述準備好的查詢 ---局部變量declare @id char(10)--set @id = 10010001select @id = 10010001 ---全局變量---必須以@@開頭希望對你有幫助~~~。
怎么 查看數據庫最近曾經執行過的SQL語句
oracle 查詢最近執行過的 SQL語句
select sql_text,last_load_time from v$sql order by last_load_time desc;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'select%' ORDER BY last_load_time DESC;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'update%' ORDER BY last_load_time DESC;
SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and last_load_time like' 14-06-09%' ORDER BY last_load_time DESC;
---正在執行的
select *me, *,*_TEXT, *_FULLTEXT
from v$session a, v$sqlarea b
where *_address = *s
---執行過的
select *_TEXT,*_LOAD_TIME,*_FULLTEXT
from v$sqlarea b
where *_LOAD_TIME between '2009-10-15/09:24:47' and
'2009-10-15/09:24:47' order by *_LOAD_TIME
(此方法好處可以查看某一時間段執行過的sql,并且 SQL_FULLTEXT 包含了完整的 sql 語句)
其他
select OSUSER,PROGRAM,USERNAME,SCHEMANAME,*_Time,STATUS,*_TEXT
from V$SESSION A LEFT JOIN V$SQL B ON *_ADDRESS=*S AND *_HASH_VALUE=*_VALUE order by *_time desc
select address, sql_text, piece
from v$session, v$sqltext
where address = sql_address
-- and machine =
order by address, piece
查找前十條性能差的sql.
SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM6 AND st.
wait_time=0 AND * NOT LIKE '%SQL%' ORDER BY physical_reads DESC
如何查詢當前正在執行的sql語句
首先,你要以dba身份登陸數據庫。
第二,為某個用戶開啟sql跟蹤。那個用戶就是你要跟蹤的、正在執行sql語句的那個用戶。命令如下:
execute dbms_*_sql_trace_in_session(sid,serial#,true)
其中參數的意義是,sid-會話id,serial#-序列號,這兩個參數可以從v$session中得到。
第三,上面的命令執行成功之后數據庫就自動對該用戶所發出的所有sql語句進行跟蹤,并把結果寫在用戶跟蹤文件里。用戶跟蹤文件存放在數據庫服務器上,路徑請參考*文件中的udump參數值。文件名為ora_sid_*(for unix)或者*(for NT),其中xxxx文件系統進程編號,這個編號可以從v$process和v$session兩個表通過關聯的方式查詢得到。
如何查找SQL執行的真實執行計劃
oracle 10g的DBMS_XPLAN包中display_cursor函數不同于display函數,display_cursor用于顯示SQL語句的真實的執行計劃,在大多數情況下, 顯示真實的執行計劃有助于更好的分析SQL語句的全過程,尤其是運行此SQL語句實時的I/O開銷。
通過對比預估的I/O與真實的I/O開銷來判斷 SQL語句所存在問題,如缺少統計信息,SQL語句執行的次數,根據實際中間結果集的大小來選擇合適的連接方式等。本文僅僅講述 display_cursor函數的使用。
一、display_cursor函數用法 1、display_cursor函數語法 DBMS_*Y_CURSOR( sql_id IN VARCHAR2 DEFAULT NULL, cursor_child_no IN NUMBER DEFAULT NULL, format IN VARCHAR2 DEFAULT 'TYPICAL'); 2、display_cursor函數參數描述 sql_id 指定位于庫緩存執行計劃中SQL語句的父游標。默認值為null。
當使用默認值時當前會話的最后一條SQL語句的執行計劃將被返回 可以通過查詢V$SQL 或V$SQLAREA的SQL_ID列來獲得SQL語句的SQL_ID。 cursor_child_no 指定父游標下子游標的序號。
即指定被返回執行計劃的SQL語句的子游標。默認值為0。
如果為null,則sql_id所指父游標下所有子游標 的執行計劃都將被返回。 format 控制SQL語句執行計劃的輸出部分,即哪些可以顯示哪些不顯示。
使用與display函數的format參數與修飾符在這里同樣適用。 除此之外當在開啟statistics_level=all時或使用gather_plan_statistics提示可以獲得執行計劃中實時的統計信息 有關詳細的format格式描述請參考:dbms_xplan之display函數的使用 中format參數的描述 下面給出啟用統計信息時format新增的修飾符 iostats 控制I/O統計的顯示 last 默認,顯示所有執行計算過的統計。
如果指定該值,則只顯示最后一次執行的統計信息 memstats 控制pga相關統計的顯示 allstats 此為iostats memstats的快捷方式,即allstats包含了iostats和memstats run_stats_last 等同于iostats last。只能用于oracle 10g R1 run_stats_tot 等同于iostats。
只能用于oracle 10g R1 抓一個最近一小時最消耗IO的SQL: SELECT sql_id, COUNT(*) FROM gv$active_session_history ash, gv$event_name evt WHERE *_time > SYSDATE - 1 / 24 AND *n_state = 'WAITING' AND *_id = *_id AND *_class = 'User I/O' GROUP BY sql_id ORDER BY COUNT(*) DESC; 執行上面的SQL: SQL> SELECT sql_id, COUNT(*) FROM gv$active_session_history ash, gv$event_name evt 2 3 WHERE *_time > SYSDATE - 1 / 24 4 AND *n_state = 'WAITING' 5 AND *_id = *_id 6 AND *_class = 'User I/O' 7 GROUP BY sql_id 8 ORDER BY COUNT(*) DESC; SQL_ID COUNT(*) ------------- ---------- g7fu6qba82m6b 668 63r47zyphdk06 526 9f5m4wd88nc1h 514 593p47drw5fhk 232 br91w16jzy4fu 120 4fvwyjpnh6tp7 78 gm0nrbfuj8kzr 70 2184k363hw4xd 68 gc4dajs7g5myy 46 8vrk9sfuwfdgq 42 ccpnb4dwdmq21 40 查看SQL的執行計劃: SELECT * FROM TABLE(dbms_*y_cursor('g7fu6qba82m6b')); 在SQLPLUS中執行: SQL> set pagesize 2000 SQL> SELECT * FROM TABLE(dbms_*y_cursor('g7fu6qba82m6b')); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------ SQL_ID g7fu6qba82m6b, child number 0 ------------------------------------- UPDATE "CPDDS_PDATA"."CDM_LEDGER" SET "CSTM_NAME" = :a1,"CSTM_NO" = :a2,"PAPER_TYPE" = :a3,"PAPER_NO" = :a4,"CURR_TYPE" = :a5,"SVT_NO" = :a6,"BAL_DIR" = :a7,"BAL" = :a8,"AVAL_BAL" = :a9,"NORM_FRATIO" = :a10,"PK_BAL" = :a11,"DR_ACCU" = :a12,"CR_ACCU" = :a13,"LAST_TRAN_DATE" = :a14,"LAST_TRAN_TIME" = :a15,"PRT_LINE_NUM" = :a16,"NOREG_PK_REC_NUM" = :a17,"PK_NO" = :a18,"PWD" = :a19,"FLAG" = :a20,"FRZ_FLAG" = :a21,"CARD_HOLD_FLAG" = :a22,"PK_HOLD_FLAG" = :a23,"BGN_INT_DATE" = :a24,"OPEN_DATE" = :a25,"ACC_HOLD_FLAG" = :a26,"CLS_DATE" = :a27,"OPEN_TLR" = :a28,"CLS_TLR" = :a29,"CLS_INT" = :a30,"OPEN_INST" = :a31,"ADD_NUM" = :a32,"DAC" = :a33,"FRZ_TIMES1" = :a34,"FRZ_TIMES2" = :a35,"HOST_SEQNO" = :a36,"D_UPDATE_DATE" = :a37 WHERE "ACC" = :b0 Plan hash value: 319441092 ----------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------- | 0 | UPDATE STATEMENT | | | | 3 (100)| | | 1 | UPDATE | CDM_LEDGER | | | | | |* 2 | INDEX UNIQUE SCAN| I_CDM_LEDGER | 1 | 269 | 2 (0)| 00:00:01 | ----------------------------------------------------------------------------------- Predicate Information (identified 。