MySQLÐÐËøÉîÈëÑо¿
×öÏîĿʱÓÉÓÚÒµÎñÂß¼µÄÐèÒª£¬±ØÐë¶ÔÊý¾Ý±íµÄÒ»Ðлò¶àÐмÓÈëÐÐËø£¬¾Ù¸ö×î¼òµ¥µÄÀý×Ó£¬Í¼Êé½èÔÄϵͳ¡£¼ÙÉè
id=1
µÄÕâ±¾Êé¿â´æÎª
1
£¬µ«ÊÇÓÐ
2
¸öÈËͬʱÀ´½èÕâ±¾Ê飬´Ë´¦µÄÂ߼Ϊ
Select restnum from book where id =1 ;
-- Èç¹û restnum ´óÓÚ 0 £¬Ö´ÐÐ update
Update book set restnum=restnum-1 where id=1 ;
ÎÊÌâ¾ÍÀ´ÁË£¬µ±
2
¸öÈËͬʱÀ´½èµÄʱºò£¬ÓпÉÄܵÚÒ»¸öÈËÖ´ÐÐ
select
Óï¾äµÄʱºò£¬µÚ¶þ¸öÈ˲åÁ˽øÀ´£¬ÔÚµÚÒ»¸öÈËûÀ´µÃ¼°¸üÐÂ
book
±íµÄʱºò£¬µÚ¶þ¸öÈ˲鵽Êý¾ÝÁË£¬ÆäʵÊÇÔàÊý¾Ý£¬ÒòΪµÚÒ»¸öÈË»á°Ñ
restnum
Öµ¼õ
1
£¬Òò´ËµÚ¶þ¸öÈ˱¾À´Ó¦¸ÃÊDz鵽
id=1
µÄÊé
restnum
Ϊ
0
ÁË£¬Òò´Ë²»»áÖ´ÐÐ
update
£¬¶ø»á¸æËßËü
id=1
µÄÊéûÓÐ¿â´æ
ÁË£¬¿ÉÊÇÊý¾Ý¿âÄĶ®ÕâЩ£¬Êý¾Ý¿âÖ»¸ºÔðÖ´ÐÐÒ»ÌõÌõ
SQL
Óï¾ä£¬Ëü²Å²»¹ÜÖмäÓÐûÓÐÆäËû
sql
Óï¾ä²å½øÀ´£¬ËüÒ²²»ÖªµÀÒª°ÑÒ»¸ö
session
µÄ
sql
Óï¾äÖ´ÐÐÍêÔÙÖ´ÐÐÁíÒ»¸ö
session
µÄ¡£Òò´Ë»áµ¼Ö²¢·¢µÄʱºò
restnum
×îºóµÄ½á¹ûΪ
-1
£¬ÏÔÈ»ÕâÊDz»ºÏÀíµÄ£¬ËùÒÔ£¬²Å³öÏÖËøµÄ¸ÅÄ
Mysql
ʹÓÃ
innodb
ÒýÇæ¿ÉÒÔͨ¹ýË÷Òý
¶ÔÊý¾ÝÐмÓËø¡£ÒÔÉϽèÊéµÄÓï¾ä±äΪ£º
Begin;
Select restnum from book where id =1 for update ;
-- ¸ø id=1 µÄÐмÓÉÏÅÅËüËøÇÒ id ÓÐË÷Òý
Update book set restnum=restnum-1 where id=1 ;
Commit;
ÕâÑù£¬µÚ¶þ¸öÈËÖ´Ðе½
select
Óï¾äµÄʱºò¾Í»á´¦Óڵȴý״ֱ̬µ½µÚÒ»¸öÈËÖ´ÐÐ
commit
¡£´Ó¶ø±£Ö¤Á˵ڶþ¸öÈ˲»»á¶Áµ½µÚÒ»¸öÈËÐÞ¸ÄǰµÄÊý¾Ý¡£
ÄÇÕâÑùÊDz»ÊÇÍòÎÞһʧÁËÄØ£¬´ð°¸ÊÇ·ñ¶¨µÄ¡£¿´ÏÂÃæµÄÀý×Ó¡£
¸úÎÒÒ»²½Ò»²½À´£¬ÏȽ¨Á¢±í
CREATE TABLE `book` (
`id` int(11) NOT NULL auto_increment,
`num` int(11) default NULL,
`name` varchar(0) default NULL,
PRIMARY KEY (`id`),
KEY `asd` (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
ÆäÖÐ
num
×ֶμÓÁËË÷Òý
È»ºó²åÈëÊý¾Ý£¬ÔËÐУ¬
insert into book(num) values(11),(11),(11),(11),(11);
insert into book(num) values(22),(22),(22),(22),(22);
È»ºó´ò¿ª
2
¸ö
mysql
¿ØÖÆÌ¨´°¿Ú£¬Æäʵ¾ÍÊǽ¨Á¢
2
¸ö
session
×ö²¢·¢²Ù×÷
********************************************************************
ÔÚµÚÒ»¸ö
session
ÀïÔËÐУº
Ïà¹ØÎĵµ£º
ÎÒÔڵǼMySQLºóµÄÃüÁîÐÐÊÇÕâ¸öÑù×ӵģº
warmbupt@pchuang:/windows/MyCode/SS$ mysql -u root -ppassw0rd
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the curr ......
ÏÖÔÚ´ó¸ÅÁгöÈçÏÂ:
1.Êý¾Ý¿âµÄÉè¼Æ
¾¡Á¿°ÑÊý¾Ý¿âÉè¼ÆµÄ¸üСµÄÕ¼´ÅÅ̿ռä.
1).¾¡¿ÉÄÜʹÓøüСµÄÕûÊýÀàÐÍ.(mediumint¾Í±Èint¸üºÏÊÊ).
2).¾¡¿ÉÄ͍ܵÒå×Ö¶ÎΪnot null,³ý·ÇÕâ¸ö×Ö¶ÎÐèÒªnull.
3).Èç¹ûûÓÐÓõ½±ä³¤×ֶεϰ±ÈÈçvarchar,ÄǾͲÉÓù̶¨´óСµÄ¼Í¼¸ñʽ±ÈÈçchar.
4).±íµÄÖ÷Ë÷ÒýÓ¦¸Ã¾¡¿ÉÄܵĶÌ.ÕâÑùµÄ»°Ã¿Ìõ¼Í¼ ......
mysql µ¼³ö±í£º
mysqldump -u Óû§Ãû -p --opt Êý¾Ý¿âÓû§Ãû ±íÃû
> ±íÃû.sql
mysql µ¼³öÊý¾Ý¿â£º
mysqldump -u
Óû§Ãû -p --opt Êý¾Ý¿âÓû§Ãû
>
Êý¾Ý¿â
Ãû.sql
mysql µ¼Èë±í£º
>source e:\base\pet.sql;
mysql µ¼Èë±íÊý¾Ý£º
>LOAD DATA LOCAL INFILE 'e:path/pet.txt ......
ÏÔʾËùÓÐÊý¾Ý¿â show databases;
´´½¨Êý¾Ý¿â create dababase stu;
ɾ³ýÊý¾Ý¿âdrop database stu;
Çл»µ½Êý¾Ý¿âuse stu;
È¡µÃµ±Ç°µÄÊý¾Ý¿â,´ø£¨£©±íʾº¯Êý:select database();
´´½¨±í£¨ÒªÇл»µ½Êý¾Ý¿âÖУ©
mysql> create table stu_info(
-> stu_id int(8) ......
1 MySQLÖ§³Öenum,ºÍsetÀàÐÍ£¬SQL Server²»Ö§³Ö
¡¡¡¡2 MySQL²»Ö§³Önchar,nvarchar,ntextÀàÐÍ
¡¡¡¡3 MySQLµÄµÝÔöÓï¾äÊÇAUTO_INCREMENT£¬¶øMS SQLÊÇidentity(1,1)
¡¡¡¡4 MS SQLĬÈϵ½´¦±í´´½¨Óï¾äµÄĬÈÏÖµ±íʾÊÇ((0)),¶øÔÚMySQLÀïÃæÊDz»ÔÊÐí´øÁ½À¨ºÅµÄ
¡¡¡¡5 MySQLÐèҪΪ±íÖ¸¶¨´æ´¢ÀàÐÍ
¡¡¡¡6 MS SQLʶ±ð·ûÊÇ[],[type]±íÊ ......