µ±×°ÉÏÁËMSSQL2005ºó£¬ÄÚ´æµÄÕ¼Óûá±äµÃºÜ´ó¡£ËùÒÔÈç¹ûÓÃÒ»¸öÅúÁ¿´¦ÀíÀ´¿ªÆô»ò¹Ø±ÕMSSQL2005ËùÓеķþÎñ£¬Äǽ«»áÈÃÎÒÃǵĵçÄÔ¸üºÃʹÓ᣸ù¾Ý×Ô¼ºµÄ¾Ñ飬×ö³öÁËÏÂÃæÁ½¸öÅú´¦Àí£º
1¡¢¿ªÆô·þÎñ£º£¨¸´ÖƺáÏßµÄÄÚÈÝ£¬×¢Ò⣬·þÎñÆ÷ÕæÕýµÄÃû³ÆÄã¿ÉÒÔͨ¹ý“¿ªÊ¼--¡·¿Ø¼þÃæ°æ--¡·¹ÜÀí¹¤¾ß--¡··þÎñ--¡·ÕÒµ½ÏàÓ¦µÄ·þÎñÆ÷ÏÔʾÃû³ÆÈ»ºóµã»÷ÓÒ¼ü£¬¿ÉÒÔ¿´µ½³£¹æÀïÓÐÒ»¸ö‘·þÎñÆ÷Ãû³Æ’£¬ÄǸö²ÅÊÇ·þÎñµÄÕæÕýÃû³Æ”£©
---------------------------------------------------------------------------------------------------
@ECHO OFF
ECHO ÕýÔÚÆô¶¯MS Server 2005Ïà¹Ø·þÎñ£¬ÇëµÈ´ý ... ...
net start MSSQL$MSSQL
net start SQLAgent$MSSQL
net start MSOLAP$MSSQL
net start SQLBrowser
net start msftesql$MSSQL
net start ReportServer$MSSQL
net start MsDtsServer
echo MS Server 2005Òѳɹ¦Æô¶¯£¬Çë°´ÈÎÒâ¼üÍ˳ö... ...
echo. & pause
--------------------------------------------------------------------------------------------------
& ......
sql2005ÖÐÒ»¸öxml¾ÛºÏµÄÀý×Ó ÊÕ²Ø
¸ÃÎÊÌâÀ´×ÔÂÛ̳ÌáÎÊ£¬ÑÝʾSQL´úÂëÈçÏÂ
--½¨Á¢²âÊÔ»·¾³
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
insert into test select '2','eee'
go
--²âÊÔ
select *from (select distinct id from test)a
OUTER APPLY(
select value=''+(
select name from test path
where id = A.id
for xml auto)+'') b
--ɾ³ý²âÊÔ»·¾³
drop table test
set nocount off
/*--½á¹û
id value
-------------------- --------------------------------------------------------------------
1
2
*/
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/jinjazz/archive/2008/09/10/2910561.aspx ......
sql2005ÖÐÒ»¸öxml¾ÛºÏµÄÀý×Ó ÊÕ²Ø
¸ÃÎÊÌâÀ´×ÔÂÛ̳ÌáÎÊ£¬ÑÝʾSQL´úÂëÈçÏÂ
--½¨Á¢²âÊÔ»·¾³
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
insert into test select '2','eee'
go
--²âÊÔ
select *from (select distinct id from test)a
OUTER APPLY(
select value=''+(
select name from test path
where id = A.id
for xml auto)+'') b
--ɾ³ý²âÊÔ»·¾³
drop table test
set nocount off
/*--½á¹û
id value
-------------------- --------------------------------------------------------------------
1
2
*/
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/jinjazz/archive/2008/09/10/2910561.aspx ......
ORDER BY ×Ӿ䰴һÁлò¶àÁУ¨×î¶à 8,060 ¸ö×Ö½Ú£©¶Ô²éѯ½á¹û½øÐÐÅÅÐò¡£ÓÐ¹Ø ORDER BY ×Ó¾ä×î´ó´óСµÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄ ORDER BY ×Ó¾ä (Transact-SQL)¡£
Microsoft SQL Server 2005 ÔÊÐíÔÚ from ×Ó¾äÖÐÖ¸¶¨¶Ô SELECT ÁбíÖÐδָ¶¨µÄ±íÖеÄÁнøÐÐÅÅÐò¡£ORDER BY ×Ó¾äÖÐÒýÓõÄÁÐÃû±ØÐëÃ÷È·µØ¶ÔÓ¦ÓÚ SELECT ÁбíÖеÄÁлò from ×Ó¾äÖеıíÖеÄÁС£Èç¹ûÁÐÃûÒÑÔÚ SELECT ÁбíÖÐÓÐÁ˱ðÃû£¬Ôò ORDER BY ×Ó¾äÖÐÖ»ÄÜʹÓñðÃû¡£Í¬Ñù£¬Èç¹û±íÃûÒÑÔÚ from ×Ó¾äÖÐÓÐÁ˱ðÃû£¬Ôò ORDER BY ×Ó¾äÖÐÖ»ÄÜʹÓñðÃûÀ´ÏÞ¶¨ËüÃǵÄÁС£
ÅÅÐò¿ÉÒÔÊÇÉýÐòµÄ (ASC)£¬Ò²¿ÉÒÔÊǽµÐòµÄ (DESC)¡£Èç¹ûδָ¶¨ÊÇÉýÐò»¹ÊǽµÐò£¬¾Í¼Ù¶¨Îª ASC¡£
SELECT
[USER_ID],[USER_NAME],[USER_EMAIL],[USER_PASSWORD]
from users where [USER_EMAIL] is not null and [USER_PASSWORD] is not null
--˵Ã÷£ºÑ¡Ôñ´Ó11µ½15µÄ¼Ç¼
select top 5
[USER_ID],[USER_NAME],[USER_EMAIL],[USER_PASSWORD]
from (select top 15 [USER_ID],[USER_NAME],[USER_EMAIL],[USER_PASSWORD] from users
order by [USER_ID] asc) users2
where [USER_EMAIL] is ......
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
¡¡¡¡SQL·ÖÀࣺ
¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
¡¡¡¡2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
¡¡¡¡3¡¢ËµÃ÷£º±¸·Ýsql server
¡¡¡¡--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
¡¡¡¡--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBack
¡¡¡¡4¡¢ËµÃ÷£º´´½¨Ð±í
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
¡¡¡¡¸ù¾ÝÒÑÓÐµÄ±í´´½¨ÐÂ±í£º
A£ºcreate table tab_new like tab_old (ʹÓÃ¾É±í´´½¨Ð±í)
B£ºcreate table tab_new as select col1,col2… from tab_old definition only
¡¡¡¡5¡¢ËµÃ÷£º
¡¡¡¡É¾³ýÐÂ±í£ºdrop table tabname
¡¡¡¡6¡¢ËµÃ÷£º
¡¡¡¡Ôö¼ÓÒ»¸öÁУºAlter table tabname add column col type
¡¡¡¡×¢£ºÁÐÔö¼Óºó½«²»ÄÜɾ³ý¡ ......
ÔÚSQL ServerµÄÐÔÄܵ÷ÓÅÖУ¬ÓÐÒ»¸ö²»¿É±ÈÄâµÄÎÊÌ⣺ÄǾÍÊÇÈçºÎÔÚÒ»¶ÎÐèÒª³¤Ê±¼äµÄ´úÂë»ò±»Æµ·±µ÷ÓõĴúÂëÖд¦ÀíÁÙʱÊý¾Ý¼¯?±í±äÁ¿ºÍÁÙʱ±íÊÇÁ½ÖÖÑ¡Ôñ¡£
¡¡¡¡ÔÚSQL ServerµÄÐÔÄܵ÷ÓÅÖУ¬ÓÐÒ»¸ö²»¿É±ÈÄâµÄÎÊÌ⣺ÄǾÍÊÇÈçºÎÔÚÒ»¶ÎÐèÒª³¤Ê±¼äµÄ´úÂë»ò±»Æµ·±µ÷ÓõĴúÂëÖд¦ÀíÁÙʱÊý¾Ý¼¯?±í±äÁ¿ºÍÁÙʱ±íÊÇÁ½ÖÖÑ¡Ôñ¡£¼ÇµÃÔÚ¸øÒ»¼Ò¹úÄÚÊ×ÇüÒ»Ö¸µÄº£Ô˹«Ë¾×÷SQL ServerÓ¦ÓÃÐÔÄÜÆÀ¹ÀºÍµ÷ÓŵÄʱºò¾Í¿´µ½¹ý´óÁ¿µÄÁÙʱÊý¾Ý¼¯´¦ÀíÐèÇ󣬶øËûÃǵĿª·¢ÈËÔ±¾ÍÎÞ·¨È·¶¨Ê²Ã´Ê±ºòÓÃÁÙʱ±í£¬Ê²Ã´Ê±ºòÓñí±äÁ¿£¬Òò´ËËûÃǾͼòµ¥µÄʹÓÃÁËÁÙʱ±í¡£Êµ¼ÊÉÏÁÙʱ±íºÍ±í±äÁ¿¶¼ÓÐÌØ¶¨µÄÊÊÓû·¾³¡£
¡¡¡¡ÏÈÂôŪһЩ»ù´¡µÄ֪ʶ£º
¡¡¡¡±í±äÁ¿
¡¡¡¡±äÁ¿¶¼ÒÔ@»ò@@Ϊǰ׺£¬±í±äÁ¿ÊDZäÁ¿µÄÒ»ÖÖ£¬ÁíÍâÒ»ÖÖ±äÁ¿±»³ÆÎª±êÁ¿(¿ÉÒÔÀí½âΪ±ê×¼±äÁ¿£¬¾ÍÊDZê×¼Êý¾ÝÀàÐ͵ıäÁ¿£¬ÀýÈçÕûÐÍint»òÕßÈÕÆÚÐÍDateTime)¡£ÒÔ@ǰ׺µÄ±í±äÁ¿ÊDZ¾µØµÄ£¬Òò´ËÖ»ÓÐÔÚµ±Ç°Óû§»á»°ÖвſÉÒÔ·ÃÎÊ£¬¶ø@@ǰ׺µÄ±í±äÁ¿ÊÇÈ«¾ÖµÄ£¬Í¨³£¶¼ÊÇϵͳ±äÁ¿£¬±ÈÈç˵@@error´ú±í×î½üµÄÒ»¸öT-SQLÓï¾äµÄ±¨´íºÅ¡£µ±È»ÒòΪ±í±äÁ¿Ê×ÏÈÊǸö±äÁ¿£¬Òò´ËËüÖ»ÄÜÔÚÒ»¸öBatchÖÐÉú´æ£¬Ò²¾ÍÊÇÎÒÃÇËù˵µÄ±ß½ç£¬³¬³öÁËÕâ¸ö±ß½ç£¬±í±äÁ¿Ò²¾ÍÏûÍöÁË¡£
¡¡¡¡±í±äÁ¿´æ·ÅÔÚÄÚ´æÖУ¬ ......
ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä
http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
ÈçºÎÉú³Éexplain plan?
¡¡¡¡½â´ð:ÔËÐÐutlxplan.sql. ½¨Á¢plan ±í
¡¡¡¡Õë¶ÔÌØ¶¨SQLÓï¾ä£¬Ê¹Óà explain plan set statement_id = 'tst1' into plan_table
¡¡¡¡ÔËÐÐutlxplp.sql »ò utlxpls.sql²ì¿´explain plan
EXPLAIN PLAN ÊÇÒ»¸öºÜºÃµÄ·ÖÎöSQLÓï¾äµÄ¹¤¾ß,ËüÉõÖÁ¿ÉÒÔÔÚ²»Ö´ÐÐSQLµÄÇé¿öÏ·ÖÎöÓï¾ä. ͨ¹ý·ÖÎö,ÎÒÃǾͿÉÒÔÖªµÀORACLEÊÇÔõôÑùÁ¬½Ó±í,ʹÓÃʲô·½Ê½É¨Ãè±í(Ë÷ÒýɨÃè»òÈ«±íɨÃè)ÒÔ¼°Ê¹Óõ½µÄË÷ÒýÃû³Æ.
ÄãÐèÒª°´ÕÕ´ÓÀïµ½Íâ,´ÓÉϵ½ÏµĴÎÐò½â¶Á·ÖÎöµÄ½á¹û. EXPLAIN PLAN·ÖÎöµÄ½á¹ûÊÇÓÃËõ½øµÄ¸ñʽÅÅÁеÄ, ×îÄÚ²¿µÄ²Ù×÷½«±»×îÏȽâ¶Á, Èç¹ûÁ½¸ö²Ù×÷´¦ÓÚͬһ²ãÖÐ,´øÓÐ×îС²Ù×÷ºÅµÄ½«±»Ê×ÏÈÖ´ÐÐ.
NESTED LOOPÊÇÉÙÊý²»°´ÕÕÉÏÊö¹æÔò´¦ÀíµÄ²Ù×÷, ÕýÈ·µÄÖ´Ðз¾¶ÊǼì²é¶ÔNESTED LOOPÌṩÊý¾ÝµÄ²Ù×÷,ÆäÖвÙ×÷ºÅ×îСµÄ½«±»×îÏÈ´¦Àí.
ÒëÕß°´:
ͨ¹ýʵ¼ù, ¸Ðµ½»¹ÊÇÓÃSQLPLUSÖеÄSET TRACE ¹¦ÄܱȽϷ½±ã.
¾ÙÀý:
SQL> list
1 SELECT *
2 from dept, emp
3* WHERE emp.deptno = dept.deptno
SQL> set autotrace traceonly /*traceonly ¿ÉÒÔ²»ÏÔʾִÐнá¹û*/
......