sql ·þÎñÆ÷½ÇÉ« Êý¾Ý¿â½ÇÉ«
sql ·þÎñÆ÷½ÇÉ« Êý¾Ý¿â½ÇÉ«
·þÎñÆ÷½ÇÉ«
ËùÓеķþÎñÆ÷½ÇÉ«¶¼ÊÇ“¹Ì¶¨µÄ”½ÇÉ«£¬²¢ÇÒ£¬´ÓÒ»¿ªÊ¼¾Í´æÔÚÓÚÄÇÀï——×Ô°²×°ÍêSQL ServerµÄÄÇÒ»¿ÌÆð£¬Ä㽫ӵÓеÄËùÓзþÎñÆ÷½ÇÉ«¾ÍÒѾ´æÔÚÁË¡£
½Ç¡¡¡¡É«
ÌØ¡¡¡¡ÐÔ
sysadmin
¸Ã½ÇÉ«Äܹ»Ö´ÐÐSQL ServerÉϵÄÈκβÙ×÷¡£±¾ÖÊÉÏ£¬ÈκξßÓÐÕâÖÖ½ÇÉ«³ÉÔ±Éí·ÝµÄÈ˶¼ÊÇÄǸö·þÎñÆ÷ÉϵÄsa¡£ÕâÖÖ·þÎñÆ÷½ÇÉ«µÄ´´½¨ÎªÎ¢ÈíÌṩÁËijһÌìÈ¥³ýsaµÇ¼µÄÄÜÁ¦——ʵ¼ÊÉÏ£¬Áª»ú´ÔÊé°Ñsa³Æ×÷±¾ÖÊÉÏΪÒÅÁôÎïµÄ¶«Î÷
Öµ
µÃ×¢ÒâµÄÊÇ£¬ÔÚSQL
ServerÉÏ£¬WindowsµÄAdministrators×é±»×Ô¶¯Ó³Éäµ½sysadmin½ÇÉ«ÖС£ÕâÒâζ×Å·þÎñÆ÷µÄAdministrators×é
ÖеÄÈκγÉԱͬʱҲ¾ßÓжÔSQLÊý¾ÝµÄsa¼¶±ðµÄ·ÃÎÊȨÏÞ¡£Èç¹ûÐèÒª£¬Äã¿ÉÒÔ´Ósysadmin½ÇÉ«ÖÐɾ³ýWindowsµÄadministrators
×飬ÒÔÌá¸ß°²È«ÐÔ¡¢·À·¶Â©¶´
serveradmin
¸Ã½ÇÉ«ÄÜÉèÖ÷þÎñÆ÷·¶Î§µÄÅäÖÃÑ¡Ïî»ò¹Ø±Õ·þÎñÆ÷¡£¾¡¹ÜËüÔÚ·¶Î§ÉÏÏ൱ÓÐÏÞ£¬µ«ÊÇ£¬ÓɸýÇÉ«µÄ³ÉÔ±Ëù¿ØÖƵŦÄܶÔÓÚ·þÎñÆ÷µÄÐÔÄÜ»á²úÉú·Ç³£ÖØ´óµÄÓ°Ïì
setupadmin
¸Ã½ÇÉ«½öÏÞÓÚ¹ÜÀíÁ´½Ó·þÎñÆ÷ºÍÆô¶¯¹ý³Ì
securityadmin
¶ÔÓÚרÃÅ´´½¨³öÀ´ÓÃÓÚ¹ÜÀíµÇ¼Ãû¡¢¶ÁÈ¡´íÎóÈÕÖ¾ºÍ´´½¨Êý¾Ý¿âÐí¿ÉȨÏ޵ĵǼÃûÀ´Ëµ£¬¸Ã½ÇÉ«·Ç³£±ãÀû¡£ÔÚºÜ¶à·½Ãæ£¬¸Ã½ÇÉ«ÊǵäÐ͵Äϵͳ²Ù×÷Ô±½ÇÉ«——ËüÄܹ»´¦Àí¶àÊýµÄÈÕ³£ÊÂÎñ£¬µ«ÊÇ£¬È´²»¾ß±¸Ò»¸öÕæÕýÎÞËù²»Äܵij¬¼¶Óû§ËùÓµÓеÄÄÇÖÖÈ«¾Ö·ÃÎÊ
processadmin
Äܹ»¹ÜÀíSQL ServerÖÐÔËÐеĽø³Ì——±ØÒªµÄ»°£¬¸Ã½ÇÉ«Äܹ»ÖÕÖ¹³¤Ê±¼äÔËÐеĽø³Ì
dbcreator
¸Ã½ÇÉ«½öÏÞÓÚ´´½¨ºÍ¸ü¸ÄÊý¾Ý¿â
diskadmin
¹ÜÀí´ÅÅÌÎļþ£¨Ö¸ÅɸøÁËʲôÎļþ×é¡¢¸½¼ÓºÍ·ÖÀëÊý¾Ý¿â£¬µÈµÈ£©
bulkadmin
¸Ã
½ÇÉ«ÓÐЩ¹ÖÒì¡£Ëü±»Ã÷È·´´½¨³öÀ´£¬ÓÃÓÚÖ´ÐÐBULK INSERTÓï¾äµÄȨÏÞ£¬·ñÔòµÄ»°£¬Ö»ÄÜÓɾßÓÐsysadminȨÏÞµÄÈËÀ´Ö´ÐÐBULK
INSERTÓï¾ä¡£Ì¹°×µØËµ£¬ÎÒ²»Ã÷°×Ϊʲô¸ÃÓï¾ä²»ÄÜÏñÆäËûÊÂÇéÄÇÑùͨ¹ýGRANTÃüÁîÀ´ÊÚÓèȨÏÞ£¬µ«ËüµÄȷûÓС£Òª¼Çס£¬¼´Ê¹°ÑÒ»¸öÓû§¼ÓÈëµ½ÁË
bulkadmin×éÖУ¬Ò²Ö»ÊǸøÁËËûÃÇ·ÃÎÊÄǸöÓï¾äµÄȨÏÞ£¬¶ÔÓÚÔËÐиÃÓï¾äµÄ±í£¬²¢Ã»ÓÐÊÚÓèÓû§·ÃÎÊÄǸö±íµÄȨÏÞ¡£ÕâÒâζ×Ų»½öÐèÒª°ÑÓû§Ìí¼Óµ½
bulkadminÖУ¬¶øÇÒ£¬¶ÔÓÚÏëÒªÓû§ÄÜÔÚÆäÉÏÖ´ÐÐBULK
INSERTµÄ±í£¬»¹ÒªÊÚÓ裨GRANT£©Óû§INSERTÐí¿ÉȨÏÞ¡£´ËÍ⣬¶ÔÓÚ½«ÔÚBULK
INSERTÓï¾äÖÐÒýÓõÄËùÓÐ±í£¬»¹ÒªÈ·±£Óû§ÓµÓÐÕýÈ·µÄµ½ÄÇЩ±íµÄSELECT·ÃÎÊȨÏÞ
¶ÔÓÚÔÚ·þÎñÆ÷Éϳе£¹
Ïà¹ØÎĵµ£º
Ò»¡¢ ¼òµ¥²éѯ
¼òµ¥µÄTransact-SQL²éѯֻ°üÀ¨Ñ¡ÔñÁÐ±í¡¢from×Ó¾äºÍWHERE×Ӿ䡣ËüÃÇ·Ö±ð˵Ã÷Ëù²éѯÁС¢²éѯµÄ
±í»òÊÓͼ¡¢ÒÔ¼°ËÑË÷Ìõ¼þµÈ¡£
ÀýÈ磬ÏÂÃæµÄÓï¾ä²éѯtesttable±íÖÐÐÕÃûΪ“ÕÅÈý”µÄnickname×ֶκÍemail×ֶΡ£
SELECT nickname,email
from testtable
WHERE name='ÕÅÈý'
(Ò») Ñ¡Ôñ ......
¿ÉÒÔ¶¨ÒåÒ»¸öÎÞÂÛºÎʱÓÃINSERTÓï¾äÏò±íÖвåÈëÊý¾Ýʱ¶¼»áÖ´ÐеĴ¥·¢Æ÷¡£
¡¡¡¡µ±´¥·¢INSERT´¥·¢Æ÷ʱ£¬ÐµÄÊý¾ÝÐоͻᱻ²åÈëµ½´¥·¢Æ÷±íºÍinserted±íÖС£inserted±íÊÇÒ»¸öÂß¼±í£¬Ëü°üº¬ÁËÒѾ²åÈëµÄÊý¾ÝÐеÄÒ»¸ö¸±±¾¡£inserted±í°üº¬ÁËINSERTÓï¾äÖÐÒѼǼµÄ²åÈ붯×÷¡£inserted±í»¹ÔÊÐíÒýÓÃÓɳõʼ»¯INSERTÓï¾ä¶ø²úÉúµÄÈÕÖ¾Êý¾Ý ......
SQL×¢Èë¹¥»÷
¡¡¡¡SQL×¢Èë¹¥»÷ÊǺڿͶÔÊý¾Ý¿â½øÐй¥»÷µÄ³£ÓÃÊÖ¶ÎÖ®Ò»¡£Ëæ×ÅB/SģʽӦÓÿª·¢µÄ·¢Õ¹£¬Ê¹ÓÃÕâÖÖģʽ±àдӦÓóÌÐòµÄ³ÌÐòÔ±Ò²Ô½À´Ô½¶à¡£µ«ÊÇÓÉÓÚ³ÌÐòÔ±µÄˮƽ¼°¾ÑéÒ²²Î²î²»Æë£¬Ï൱´óÒ»²¿·Ö³ÌÐòÔ±ÔÚ±àд´úÂëµÄʱºò£¬Ã»ÓжÔÓû§ÊäÈëÊý¾ÝµÄºÏ·¨ÐÔ½øÐÐÅжϣ¬Ê¹Ó¦ÓóÌÐò´æÔÚ°²È«Òþ»¼¡£Óû§¿ÉÒÔÌá½»Ò»¶ÎÊý¾Ý¿â²éѯ´ú ......
--1.¹ØÓÚwhereɸѡÆ÷ÖгöÏÖÖ¸¶¨ÐÇÆÚ¼¸µÄÇó½â
SQL code
--»·¾³
create table test_1
(
id int,
value varchar(10),
t_time datetime
)
insert test_1
select 1,'a','2009-04-19' union
select 2,'b','2009-04-20' union
select 3,'c','2009-04-21' union
select 4,'d','2009-04-22' union
s ......
merge [target] t
using [source] s on t.id = s.id
when matched then update t.name = s.name, t.age = s.age -- use "rowset1"
when not matched then insert values(id,name,age) -- use "rowset2"
when source not matched then delete; -- use "rowset3"
MERGE dbo.table AS im ......