SQL 行轉列
下面的做法大多對應與一般的情況,關于靈活性與安全性的一些做法,特殊的情況特殊處理總是有他的好處。關于SQL注入方面的內容之前已經寫過一片博文了,在此不再提及
SQL*Plus基礎本章概述本章要點教學過程本章概述SQL*Plus可以作為編寫SQL和PL/SQL腳本的接口。使用SQL*Plus可以執行各種SQL語句和PL/SQL語句。具體地說,SQL*Plus可以描述表的結構;可以編輯輸入的各種SQL和PL/SQL語句;可以執行輸入的SQL和PL/SQL語句;可以執行各種SQL*Plus命令;可以格式化SQL和PL/SQL語句的輸出結果等。但是,SQL*Plus不能直接操縱數據庫中的數據。本章將全面介紹SQL*Plus的基礎知識。本章要點啟動SQL*Plus并設置其運行環境格式化輸出結果執行各種SQL*Plus命令使用help命令使用SQL*Plus緩沖區執行腳本教學過程5.1啟動和設置SQL*Plus5.2格式化查詢結果
SQL概述、 數據定義、 查詢、 數據更新、 視圖、 數據控制、 嵌入式SQL。
Oracle數據庫表表:對應現實中的實體的抽象,例如學生等;表字段:對應實體的屬性,例如學生姓名;表主鍵:主關鍵字(primarykey)是表中的一個或多個字段,它的值用于惟一地標識表中的某一條記錄。一個表不能有多個主關鍵字,并且主關鍵字的列不能包含空值,例如學生的學號。
ThinkUI SQL Client提供的功能包括:數據庫元數據瀏覽(結構,表格,視圖,約束,觸發器,存儲過程等);SQL查詢工具能夠自動從Table元數據生成新增、修改、查詢SQL語句;執行存儲過程的圖形用戶界面;數據模型獲取與定制;從Flat文件導入數據(支持Excel,CSV和Tab分割符文件);利用Velocity模板引擎和數據庫元數據生成Java Bean、DAO、SQL、EJB、JSP
一、基礎 1 、說明:創建數據庫 CREATE DATABASE database-name 2 、說明:刪除數據庫 drop database dbname 3 、說明:備份 sql server --- 創建 備份數據的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.d
測試環境:Oralce10G Server SQL運行環境:sqlplus select * from table_name; select 字段列表 from table_name; 感覺這兩個語句在查詢性能上好像沒有什么時間差;測試數據量是50W條,如果大家感興趣的話,可以測試一下。
表結構Student(S#,Sname,Sage,Ssex)學生表Course(C#,Cname,T#)課程表SC(S#,C#,score)成績表Teacher(T#,Tname)教師表試題:1、查詢“001”課程比“002”課程成績高的所有學生的學號;SELECTa.S#FROMSCa,SCb,WHEREa.S#=b.S#anda.C#=’001’andb.C#=’002’anda.score>b.score2、查詢平均成績大于60分的同學的學號和平均成績;SELECTS#,AVG(score)>60FROMSCGROUPBYS#(老師:大于60分的條件加到前面可以嗎?)SELECTS#,AVG(score)FROMSCGROUPBYS#HAVINGAVG(score)>603、查詢所有同學的學號、姓名、選課數、總成績;
說明:這些SQL語句不是原創,均是本人從CSND上收集來的。由于時間關系,其中少量SQL語句的準確性沒有驗證。本文檔對初學SQLServer的人很有幫助,其內容涵蓋了觸發器、作業、角色、備份還原、導入導出、游標、安全、索引排序、日期操作、XML、統計、交叉表、文件存儲、分頁、等等。
目的數據庫參數進行優化所獲得的性能提升全部加起來只占數據庫應用系統性能提升的40%左右,其余60%的系統性能提升全部來自對應用程序的優化。許多優化專家甚至認為對應用程序的優化可以得到80%的系統性能提升。因此可以肯定,通過優化應用程序來對數據庫系統進行優化能獲得更大的收益。對應用程序的優化通常可分為兩個方面:源代碼的優化和SQL語句的優化。由于涉及到對程序邏輯的改變,源代碼的優化在時間成本和風險上代價很高(尤其是對正在使用中的系統進行優化)。
選擇最有效率的表名順序(只在基于規則的優化器中有效):ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最后的表(基礎表drivingtable)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。如果有3個以上的表連接查詢,那就需要選擇交叉表(intersectiontable)作為基礎表,交叉表是指那個被其他表所引用的表.
Mckoi SQL Database 是一個為客戶機/服務器架構下的數據庫服務器軟件,支持多個客戶端。可以用來嵌入到 Java 應用程序中提供獨立的數據庫服務功能。
最近,遇到并解決一個SQL上的疑難問題。考勤系統,記錄著員工進出公司的刷卡記錄。而員工刷卡并不規范,存在刷多次的情況。例如:出去時連續刷多次,進來時也連續刷多次。篩選有效刷卡記錄數據的規則: 對于出去時連續刷多次(包含一次)的情況,取第一次刷卡記錄;對于進來時連續刷多次(包含一次)的情況,取最后一次的刷卡記錄。 考勤系統的數據量很大,假設公司有2萬名員工,一員工一天100條刷卡記錄。
SQL優化總結:1. 通過 show status 了解SQL執行頻率 通過show status可以提供服務器狀態信息,可以根據需要顯示當前s...
如何優化sql語句(1)選擇最有效率的表名順序(只在基于規則的優化器中有效):ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最后的表(基礎表drivingtable)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。如果有3個以上的表連接查詢,那就需要選擇交叉表(intersectiontable)作為基礎表,交叉表是指那個被其他表所引用的表.
目前在ORACLE開發過程中,我所用到的動態SQL的一點心得。我把它分為FORM級、TABLE級和pl/sql級。