ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD INDEX [index_name] (index_col_name,...)
or ADD PRIMARY KEY (index_col_name,...)
or ADD UNIQUE [index_name] (index_col_name,...)
or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
or CHANGE [COLUMN] old_col_name create_definition
or MODIFY [COLUMN] create_definition
or DROP [COLUMN] col_name
or DROP PRIMARY KEY
or DROP INDEX index_name
or RENAME [AS] new_tbl_name
or table_options
eg:
mysql> alter table topics change hotico hot_count int(4);
mysql> alter table topics alter hot_count set default 1;
²¹³ä£º
¼ÓË÷Òý
mysql> alter table ±íÃû add index Ë÷ÒýÃû (×Ö¶ÎÃû1[£¬×Ö¶ÎÃû2 …]);
Àý×Ó£º mysql> alter table employee add index emp_name (name);
¼ÓÖ÷¹Ø¼ü×ÖµÄË÷Òý
mysql> alter table ±íÃû add primary key (×Ö¶ÎÃû);
Àý×Ó£º mysql> alter table employee add primary key(id);
¼ÓΨһÏÞÖÆÌõ¼þµÄË ......
ÎÒÒ»Ö±ÊÇʹÓÃmysqlÕâ¸öÊý¾Ý¿âÈí¼þ£¬Ëü¹¤×÷±È½ÏÎȶ¨£¬Ð§ÂÊÒ²ºÜ¸ß¡£ÔÚÓöµ½ÑÏÖØÐÔÄÜÎÊÌâʱ£¬Ò»°ã¶¼ÓÐÕâô¼¸ÖÖ¿ÉÄÜ£º
1¡¢Ë÷ÒýûÓн¨ºÃ£»
2¡¢sqlд·¨¹ýÓÚ¸´ÔÓ£»
3¡¢ÅäÖôíÎó£»
4¡¢»úÆ÷ʵÔÚ¸ººÉ²»ÁË£»
1¡¢Ë÷ÒýûÓн¨ºÃ
Èç¹û¿´µ½mysqlÏûºÄµÄcpuºÜ´ó£¬¿ÉÒÔÓÃmysqlµÄclient¹¤¾ßÀ´¼ì²é¡£
ÔÚlinuxÏÂÖ´ÐÐ
/usr/local/mysql/bin/mysql -hlocalhost -uroot -p
ÊäÈëÃÜÂ룬Èç¹ûûÓÐÃÜÂ룬Ôò²»ÓÃ-p²ÎÊý¾Í¿ÉÒÔ½øµ½¿Í»§¶Ë½çÃæÖС£
¿´¿´µ±Ç°µÄÔËÐÐÇé¿ö
show full processlist
¿ÉÒÔ¶àÔËÐм¸´Î
Õâ¸öÃüÁî¿ÉÒÔ¿´µ½µ±Ç°ÕýÔÚÖ´ÐеÄsqlÓï¾ä£¬Ëü»á¸æÖªÖ´ÐеÄsql¡¢Êý¾Ý¿âÃû¡¢Ö´ÐеÄ״̬¡¢À´×ԵĿͻ§¶Ëip¡¢ËùʹÓõÄÕʺš¢ÔËÐÐʱ¼äµÈÐÅÏ¢
ÔÚÎÒµÄcacheºó¶Ë£¬ÕâÀïÃæ´ó²¿·Öʱ¼äÊÇ¿´²»µ½ÏÔʾÈκÎsqlÓï¾äµÄ£¬ÎÒÈÏΪÕâÑù²ÅËã±È½ÏÕý³£¡£Èç¹û¿´µ½ÓкܶàsqlÓï¾ä£¬ÄÇôÕą̂mysql¾ÍÒ»¶¨»áÓÐÐÔÄÜÎÊÌâ
Èç¹û³öÏÖÁËÐÔÄÜÎÊÌ⣬Ôò¿ÉÒÔ½øÐзÖÎö£º
1¡¢ÊDz»ÊÇÓÐsqlÓï¾ä¿¨×¡ÁË£¿
ÕâÊdzöÏֱȽ϶àµÄÇé¿ö£¬Èç¹ûÊý¾Ý¿âÊDzÉÓÃmyisam£¬ÄÇôÓпÉÄÜÓÐÒ»¸öдÈëµÄÏ̻߳á°ÑÊý¾Ý±í¸øËø¶¨ÁË£¬Èç¹ûÕâÌõÓï¾ä²»½áÊø£¬ÔòÆäËüÓï¾äÒ²ÎÞ·¨ÔËÐС£
²é¿´processlistÀïµÄtimeÕâÒ»Ï¿´¿´ÓÐûÓÐÖ´ÐÐʱ¼äºÜ³¤µÄÓï¾ä£¬ÒªÁôÒâÕâЩÓï¾ä¡£
2¡ ......
½¨Á¢Íâ¼üµÄǰÌ᣺ ±¾±íµÄÁбØÐëÓëÍâ¼üÀàÐÍÏàͬ(Íâ¼ü±ØÐëÊÇÍâ±íÖ÷¼ü)¡£
Íâ¼ü×÷Ó㺠ʹÁ½ÕűíÐγɹØÁª£¬Íâ¼üÖ»ÄÜÒýÓÃÍâ±íÖеÄÁеÄÖµ£¡
Ö¸¶¨Ö÷¼ü¹Ø¼ü×Ö£º foreign key(ÁÐÃû)
ÒýÓÃÍâ¼ü¹Ø¼ü×Ö£º references <Íâ¼ü±íÃû>(Íâ¼üÁÐÃû)
ʼþ´¥·¢ÏÞÖÆ: on deleteºÍon update , ¿ÉÉè²ÎÊýcascade(¸úËæÍâ¼ü¸Ä¶¯), restrict(ÏÞÖÆÍâ±íÖеÄÍâ¼ü¸Ä¶¯),set Null(Éè¿ÕÖµ£©,set Default£¨ÉèĬÈÏÖµ£©,[ĬÈÏ]no action
ÀýÈ磺
outTable±í Ö÷¼ü id ÀàÐÍ int
´´½¨º¬ÓÐÍâ¼üµÄ±í£º
create table temp(
id int,
name char(20),
foreign key(id) references outTable(id) on delete cascade on update cascade);
˵Ã÷£º°ÑidÁÐ ÉèΪÍâ¼ü ²ÎÕÕÍâ±íoutTableµÄidÁÐ µ±Íâ¼üµÄֵɾ³ý ±¾±íÖжÔÓ¦µÄÁÐɸ³ý µ±Íâ¼üµÄÖµ¸Ä±ä ±¾±íÖжÔÓ¦µÄÁÐÖµ¸Ä±ä¡£ ......
ÔÚMySQL 3.23.44°æ±¾ºó£¬InnoDBÒýÇæÀàÐ͵ıíÖ§³ÖÁËÍâ¼üÔ¼Êø¡£
Íâ¼üµÄʹÓÃÌõ¼þ£º
1.Á½¸ö±í±ØÐëÊÇInnoDB±í£¬MyISAM±íÔÝʱ²»Ö§³ÖÍâ¼ü£¨¾Ý˵ÒÔºóµÄ°æ±¾ÓпÉÄÜÖ§³Ö£¬µ«ÖÁÉÙĿǰ²»Ö§³Ö£©£»
2.Íâ¼üÁбØÐ뽨Á¢ÁËË÷Òý£¬MySQL 4.1.2ÒÔºóµÄ°æ±¾ÔÚ½¨Á¢Íâ¼üʱ»á×Ô¶¯´´½¨Ë÷Òý£¬µ«Èç¹ûÔÚ½ÏÔçµÄ°æ±¾ÔòÐèÒªÏÔʾ½¨Á¢£»
3.Íâ¼ü¹ØÏµµÄÁ½¸ö±íµÄÁбØÐëÊÇÊý¾ÝÀàÐÍÏàËÆ£¬Ò²¾ÍÊÇ¿ÉÒÔÏ໥ת»»ÀàÐ͵ÄÁУ¬±ÈÈçintºÍtinyint¿ÉÒÔ£¬¶øintºÍcharÔò²»¿ÉÒÔ£»
Íâ¼üµÄºÃ´¦£º¿ÉÒÔʹµÃÁ½ÕÅ±í¹ØÁª£¬±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔºÍʵÏÖһЩ¼¶Áª²Ù×÷£»
Íâ¼üµÄ¶¨ÒåÓï·¨£º
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
¸ÃÓï·¨¿ÉÒÔÔÚ CREATE TABLE ºÍ ALTER TABLE ʱʹÓã¬Èç¹û²»Ö¸¶¨CONSTRAINT symbol£¬MYSQL»á×Ô¶¯Éú³ÉÒ»¸öÃû×Ö¡£
ON DELETE¡¢ON UPDATE±íʾʼþ´¥·¢ÏÞÖÆ£¬¿ÉÉè²ÎÊý£º
RESTRICT£¨ÏÞÖÆÍâ±íÖеÄÍâ¼ü¸Ä¶¯£©
CASCADE£¨¸úËæÍ ......
VBµÄ´úÂë´æ´¢ÔÚÄ£¿éÖС£ÔÚVBÖÐÌṩÁËÈýÖÖÀàÐ͵ÄÄ£¿é£º´°ÌåÄ£¿é¡¢±ê׼ģ¿éºÍÀàÄ£¿é¡£
¡¡¡¡¼òµ¥µÄÓ¦ÓóÌÐò¿ÉÒÔÖ»ÓÐÒ»¸ö´°Ì壬ËùÓõijÌÐò¶¼×¤ÁôÔÚ´°ÌåÄ£¿éÖУ¬¶øµ±Ó¦ÓóÌÐòÅÓ´ó¸´ÔÓʱ£¬¾ÍÒªÁíÍ⸽¼Ó´°Ìå¡£×îÖÕ¿ÉÄÜÓм¸¸ö´°ÌåÖÐÓÐһЩ¹²Í¬¶¼ÒªÖ´ÐеĴúÂ룬ΪÁËÔÚÁ½¸ö´°ÌåÖв»²úÉúÖØ¸´´úÂ룬¿É´´½¨Ò»¸ö¶ÀÁ¢µÄÄ£¿é£¬ÓÃËüʵÏÖ´úÂ빫Ó᣸öÀÁ¢Ä£¿é¼´ÊDZê׼ģ¿é¡£´ËÍ⻹¿ÉÒÔ½¨Á¢°üº¬¹²Ïí´úÂëÓëÊý¾ÝµÄÀàÄ£¿é¡£
¡¡¡¡Ã¿¸ö±ê׼ģ¿é¡¢ÀàÄ£¿éºÍ´°ÌåÄ£¿é¿É°üº¬£º
¡¡¡¡ÉùÃ÷¡£ ¿É½«³£Êý¡¢ÀàÐÍ¡¢±äÁ¿ºÍ¶¯Ì¬Á´½Ó¿â£¨DLL£©¹ý³ÌµÄÉùÃ÷·ÅÔÚ´°Ìå¡¢Àà»ò±ê׼ģ¿éµÄÉùÃ÷²¿·Ö¡£Ã¿¸öÄ£¿éÖ»ÓÐÒ»¸öÉùÃ÷²¿·Ö
¡¡¡¡¹ý³Ì¡£Ã¿¸öÄ£¿é¿ÉÓжà¸ö¹ý³Ì£¬¹ý³ÌÊÇ»®·ÖVB´úÂëµÄ×îСµ¥Ôª£¬Ã¿¸ö¹ý³ÌÊÇÒ»¸ö¿ÉÖ´ÐеĴúÂëÆ¬¶Î¡£VBÖÐÖ÷ÒªÓÐ×Ó¹ý³Ì¡¢º¯Êý¹ý³Ì»òÕßÊôÐÔ¹ý³ÌµÈ
¡¡¡¡¸÷ÖÖÄ£¿éÀàÐÍ
¡¡¡¡1.´°ÌåÄ£¿é
¡¡¡¡ÓÉÓÚVBÊÇÃæÏò¶ÔÏóµÄÓ¦ÓóÌÐò¿ª·¢¹¤¾ß£¬ËùÒÔÓ¦ÓóÌÐòµÄ´úÂë½á¹¹¾ÍÊǸóÌÐòÔÚÆÁÄ»ÉϱíʾµÄ¶ÔӦģÐÍ¡£¸ù¾Ý¶¨Ò壬¶ÔÏó°üº¬Êý¾ÝºÍ´úÂë¡£Ó¦ÓóÌÐòÖеÄÿ¸ö´°Ìå¶¼ÓÐÒ»¸öÏà¶ÔÓ¦µÄ´°ÌåÄ£¿é£¨ÎļþÀ©Õ¹ÃûΪ.frm£©
¡¡¡¡´°ÌåÄ£¿éÊÇVBÓ¦ÓóÌÐòµÄ»ù´¡¡£´°ÌåÄ£¿é¿ÉÒÔ°üº¬´¦ÀíʼþµÄ¹ý³Ì¡¢Í¨Óùý³ÌÒÔ¼°±äÁ¿¡¢³£Êý¡¢×Ô¶¨ÒåÀàÐͺÍÍ ......
Option Explicit
Private Declare Function LoadCursor Lib "user32.dll" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor Lib "user32.dll" (ByVal hCursor As Long) As Long
Private Const IDC_HAND As Long = 32649
Private myHand_handle As Long
Private Sub Form_Load()
myHand_handle = LoadCursor(0, IDC_HAND)
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If myHand_handle <> 0 Then SetCursor myHand_handle
End Sub ......