´ÓSQLÓïÑԵķÖÀà̸COMMITºÍROLLBACKµÄÓ÷¨
´Ó¹¦ÄÜÉÏ»®·Ö£¬SQLÓïÑÔ¿ÉÒÔ·ÖΪDDL,DMLºÍDCLÈý´óÀà¡£
1. DDL£¨Data Definition Language£©
Êý¾Ý¶¨ÒåÓïÑÔ£¬ÓÃÓÚ¶¨ÒåºÍ¹ÜÀí SQL Êý¾Ý¿âÖеÄËùÓжÔÏóµÄÓïÑÔ £»
CREATE---´´½¨±í
ALTER---Ð޸ıí
DROP---ɾ³ý±í
2. DML£¨Data Manipulation Language£©
Êý¾Ý²Ù×ÝÓïÑÔ£¬SQLÖд¦ÀíÊý¾ÝµÈ²Ù×÷ͳ³ÆÎªÊý¾Ý²Ù×ÝÓïÑÔ £»
INSERT---Êý¾ÝµÄ²åÈë
DELETE---Êý¾ÝµÄɾ³ý
UPDATE---Êý¾ÝµÄÐÞ¸Ä
SELECT---Êý¾ÝµÄ²éѯ
DCL£¨Data Control Language£©
Êý¾Ý¿ØÖÆÓïÑÔ£¬ÓÃÀ´ÊÚÓè»ò»ØÊÕ·ÃÎÊÊý¾Ý¿âµÄijÖÖÌØÈ¨£¬²¢¿ØÖÆÊý¾Ý¿â²Ù×ÝÊÂÎñ·¢ÉúµÄʱ¼ä¼°Ð§¹û£¬¶ÔÊý¾Ý¿âʵÐмàÊӵȣ»
GRANT---ÊÚȨ¡£
ROLLBACK---»Ø¹ö
COMMIT---Ìá½»¡£
Ìá½»Êý¾ÝÓÐÈýÖÖÀàÐÍ£ºÏÔʽÌá½»¡¢ÒþʽÌá½»¼°×Ô¶¯Ìá½»¡£ÏÂÃæ·Ö±ð˵Ã÷ÕâÈýÖÖÀàÐÍ¡£
(1) ÏÔʽÌá½»
ÓÃCOMMITÃüÁîÖ±½ÓÍê³ÉµÄÌύΪÏÔʽÌá½»¡£
(2) ÒþʽÌá½»
ÓÃSQLÃüÁî¼ä½ÓÍê³ÉµÄÌύΪÒþʽÌá½»¡£ÕâЩÃüÁîÊÇ£º
ALTER£¬AUDIT£¬COMMENT£¬CONNECT£¬CREATE£¬DISCONNECT£¬DROP£¬
EXIT£¬GRANT£¬NOAUDIT£¬QUIT£¬REVOKE£¬RENAME¡£
(3) ×Ô¶¯Ìá½»
Èô°ÑAUTOCOMMITÉèÖÃΪON£¬ÔòÔÚ²åÈë¡¢Ð޸ġ¢É¾³ýÓï¾äÖ´Ðкó£¬
ϵͳ½«×Ô¶¯½øÐÐÌá½»£¬Õâ¾ÍÊÇ×Ô¶¯Ìá½»¡£Æä¸ñʽΪ£º SQL>SET AUTOCOMMIT ON£»
COMMIT / ROLLBACKÕâÁ½¸öÃüÁîÓõÄʱºòҪСÐÄ¡£ COMMIT / ROLLBACK ¶¼ÊÇÓÃÔÚÖ´ÐÐ DMLÓï¾ä£¨INSERT / DELETE / UPDATE / SELECT £©Ö®ºóµÄ¡£DML Óï¾ä£¬Ö´ÐÐÍêÖ®ºó£¬´¦ÀíµÄÊý¾Ý£¬¶¼»á·ÅÔڻعö¶ÎÖУ¨³ýÁË SELECT Óï¾ä£©£¬µÈ´ýÓû§½øÐÐÌá½»£¨COMMIT£©»òÕ߻عö £¨ROLLBACK£©£¬µ±Óû§Ö´ÐÐ COMMIT / ROLLBACKºó£¬·ÅÔڻعö¶ÎÖеÄÊý¾Ý¾Í»á±»É¾³ý¡£
£¨SELECT Óï¾äÖ´Ðкó£¬Êý¾Ý¶¼´æÔÚ¹²Ïí³Ø¡£Ìṩ¸øÆäËûÈ˲éѯÏàͬµÄÊý¾Ýʱ£¬Ö±
Ïà¹ØÎĵµ£º
USE master
GO
DECLARE @dbname sysname
SET @dbname='TEST' --Õâ¸öÊÇҪɾ³ýµÄÊý¾Ý¿â¿âÃû
DECLARE @s NVARCHAR(1000)
DECLARE tb CURSOR local FOR
SELECT s='KILL '+CAST(spid AS NVARCHAR)&nbs ......
--
> ²âÊÔÊý¾Ý£º[tb]
if
object_id
(
'
[tb]
'
)
is
not
null
drop
table
[
tb
]
go
create
table
[
tb
]
(
[
id
]
int
,
[
lx
]
int
)
insert
[
tb
]
select
29
,
2
union
all
select
30
,
3
union
all
sel ......
½éÉÜGROUP BY ºÍ HAVING ×Ó¾äǰ£¬ÎÒÃDZØÐèÏȽ²½²sqlÓïÑÔÖÐÒ»ÖÖÌØÊâµÄº¯Êý:¾ÛºÏº¯Êý£¬ÀýÈçSUM, COUNT, MAX, AVGµÈ¡£ÕâЩº¯ÊýºÍÆäËüº¯ÊýµÄ¸ù±¾Çø±ð¾ÍÊÇËüÃÇÒ»°ã×÷ÓÃÔÚ¶àÌõ¼Ç¼ÉÏ¡£
SELECT SUM(population) from bbc
ÕâÀïµÄSUM×÷ÓÃÔÚËùÓзµ»Ø¼Ç¼µÄpopulation×Ö¶ÎÉÏ£¬½á¹û¾ÍÊǸòéѯֻ·µ»ØÒ»¸ö½á¹û£¬¼´ËùÓйú¼ÒµÄ×ÜÈË¿ ......
/*sqlÖØ¸´Êý¾Ý´¦Àí£¬ÓÐΨһID£¬formidÓÐÖØ¸´*/
/*²é³öÖØ¸´µÄfromid*/
select formid from GaiaSaver_BUG group by formid having count(*)>1
/*ɾ³ýÖØ¸´formid£¬Ö»ÁôÒ»Ìõ*/
delete from GaiaSaver_BUG where ID not in
(select min(ID) as ID from GaiaSaver_BUG group by for ......