SQL ÍâÀ´¼üµÄÓ÷¨
ÍâÀ´¼üÊÇÒ»¸ö(»òÊý¸ö)Ö¸ÏòÁíÍâÒ»¸ö±í¸ñÖ÷¼üµÄÀ¸Î»¡£ÍâÀ´¼üµÄÄ¿µÄÊÇÈ·¶¨×ÊÁϵIJο¼ÍêÕûÐÔ(referential integrity)¡£»»ÑÔÖ®£¬Ö»Óб»×¼ÐíµÄ×ÊÁÏÖµ²Å»á±»´æÈë×ÊÁÏ¿âÄÚ¡£
¾ÙÀýÀ´Ëµ£¬¼ÙÉèÎÒÃÇÓÐÁ½¸ö±í¸ñ£ºÒ»¸ö CUSTOMER ±í¸ñ£¬ÀïÃæ¼Ç¼ÁËËùÓй˿͵Ä×ÊÁÏ£»ÁíÒ»¸ö ORDERS ±í¸ñ£¬ÀïÃæ¼Ç¼ÁËËùÓй˿Ͷ©¹ºµÄ×ÊÁÏ¡£ÔÚÕâÀïµÄÒ»¸öÏÞÖÆ£¬¾ÍÊÇËùÓеĶ©¹º×ÊÁÏÖеĹ˿ͣ¬¶¼Ò»¶¨ÊÇÒª¸úÔÚ CUSTOMER ±í¸ñÖдæÔÚ¡£ÔÚÕâÀÎÒÃǾͻáÔÚ ORDERS ±í¸ñÖÐÉ趨һ¸öÍâÀ´¼ü£¬¶øÕâ¸öÍâÀ´¼üÊÇÖ¸Ïò CUSTOMER ±í¸ñÖеÄÖ÷¼ü¡£ÕâÑùÒ»À´£¬ÎÒÃǾͿÉÒÔÈ·¶¨ËùÓÐÔÚ ORDERS ±í¸ñÖеĹ˿Ͷ¼´æÔÚ CUSTOMER ±í¸ñÖС£»»¾ä»°Ëµ£¬ORDERS±í¸ñÖ®ÖУ¬²»ÄÜÓÐÈκι˿ÍÊDz»´æÔÚÓÚ CUSTOMER ±í¸ñÖеÄ×ÊÁÏ¡£
ÕâÁ½¸ö±í¸ñµÄ½á¹¹½«»áÊÇÈçÏ£º
CUSTOMER ±í¸ñ
À¸Î»Ãû
ÐÔÖÊ
SID
Ö÷¼ü
Last_Name
First_Name
ORDERS ±í¸ñ
À¸Î»Ãû
ÐÔÖÊ
Order_ID
Ö÷¼ü
Order_Date
Customer_SID
ÍâÀ´¼ü
Amount
ÔÚÒÔÉϵÄÀý×ÓÖУ¬ORDERS ±í¸ñÖÐµÄ customer_SID À¸Î»ÊÇÒ»¸öÖ¸Ïò CUSTOMERS ±í¸ñÖÐ SID À¸Î»µÄÍâÀ´¼ü¡£
ÒÔÏÂÁгö¼¸¸öÔÚ½¨Öà ORDERS ±í¸ñʱָ¶¨ÍâÀ´¼üµÄ·½Ê½£º
MySQL:
CREATE TABLE ORDERS
(Order_ID integer,
Order_Date date,
Customer_SID integer,
Amount double,
Primary Key (Order_ID),
Foreign Key (Customer_SID) references CUSTOMER(SID));
Oracle:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date date,
Customer_SID integer references CUSTOMER(SID),
Amount double);
SQL Server:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID),
Amount double);
ÒÔϵÄÀý×ÓÔòÊǽåןıä±í¸ñ¼Ü¹¹À´Ö¸¶¨ÍâÀ´¼ü¡£ÕâÀï¼ÙÉè ORDERS ±í¸ñÒѾ±»½¨Ö㬶øÍâÀ´¼üÉÐδ±»Ö¸¶¨£º
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
½ÓÏÂÀ´£¬ÎÒÃÇÌÖÂÛ alias (±ðÃû) ÔÚ SQL ÉϵÄÓô¦¡£×î³£Óõ½µÄ±ðÃûÓÐÁ½ÖÖ£º À¸Î»±ðÃû¼°±í¸ñ±ðÃû¡£
¼òµ¥µØÀ´Ëµ£¬À¸Î»±ðÃûµÄÄ¿µÄÊÇΪÁËÈà SQL ²úÉúµÄ½á¹ûÒ×¶Á¡£ÔÚ֮ǰµÄÀý×ÓÖУ¬ ÿµ±ÎÒÃÇÓÐÓªÒµ¶î×ܺÏʱ£¬À¸Î»Ãû¶¼ÊÇ SUM(sales)¡£ ËäÈ»ÔÚÕâ¸öÇé¿öÏÂûÓÐʲôÎÊÌ⣬¿ÉÊÇÈç¹ûÕâ¸öÀ¸Î»²»ÊÇÒ»¸ö¼òµ¥µÄ×ܺϣ¬¶øÊÇÒ»¸ö¸´ÔӵļÆË㣬 ......
SQL ÖÐµÄ TRIM º¯ÊýÊÇÓÃÀ´ÒƳýµôÒ»¸ö×Ö´®ÖеÄ×ÖÍ·»ò×Öβ¡£×î³£¼ûµÄÓÃ;ÊÇÒÆ³ý×ÖÊ×»ò×ÖβµÄ¿Õ°×¡£Õâ¸öº¯ÊýÔÚ²»Í¬µÄ×ÊÁÏ¿âÖÐÓв»Í¬µÄÃû³Æ£º
MySQL: TRIM(), RTRIM(), LTRIM()
Oracle: RTRIM(), LTRIM()
SQL Server: RTRIM(), LTRIM()
¸÷ÖÖ trim º¯ÊýµÄÓï·¨ÈçÏ£º
TRIM([[λÖÃ] [ÒªÒÆ³ýµÄ×Ö´®] from ] ×Ö´®): [λÖÃ] ......
ÊÓ¹Û±í (Views) ¿ÉÒÔ±»µ±×÷ÊÇÐéÄâ±í¸ñ¡£Ëü¸ú±í¸ñµÄ²»Í¬ÊÇ£¬±í¸ñÖÐÓÐʵ¼Ê´¢´æ×ÊÁÏ£¬¶øÊÓ¹Û±íÊǽ¨Á¢ÔÚ±í¸ñÖ®ÉϵÄÒ»¸ö¼Ü¹¹£¬Ëü±¾Éí²¢²»Êµ¼Ê´¢´æ×ÊÁÏ¡£
½¨Á¢Ò»¸öÊÓ¹Û±íµÄÓï·¨ÈçÏ£º
CREATE VIEW "VIEW_NAME" AS "SQL Óï¾ä"
"SQL Óï¾ä" ¿ÉÒÔÊÇÈκÎÒ»¸öÎÒÃÇÔÚÕâ¸ö½Ì²ÄÖÐÓÐÌáµ½µÄ SQL¡£
À´¿´Ò»¸öÀý×Ó¡£¼ÙÉèÎÒÃÇÓÐÒÔϵıí¸ñ£ ......
Ë÷Òý (Index) ¿ÉÒÔ°ïÖúÎÒÃÇ´Ó±í¸ñÖпìËÙµØÕÒµ½ÐèÒªµÄ×ÊÁÏ¡£¾ÙÀýÀ´Ëµ£¬¼ÙÉèÎÒÃÇÒªÔÚÒ»±¾Ô°ÒÕÊéÖÐÕÒÈçºÎÖÖÖ²ÇཷµÄѶϢ¡£ÈôÕâ±¾ÊéûÓÐË÷ÒýµÄ»°£¬ÄÇÎÒÃÇÊDZØÐëÒª´ÓÍ·¿ªÊ¼¶Á£¬Ö±µ½ÎÒÃÇÕÒµ½ÓйØÖÖÖ±ÇཷµÄµØ·½ÎªÖ¹¡£ÈôÕâ±¾ÊéÓÐË÷ÒýµÄ»°£¬ÎÒÃǾͿÉÒÔÏÈÈ¥Ë÷ÒýÕÒ³öÖÖÖ²ÇཷµÄ×ÊѶÊÇÔÚÄÄÒ»Ò³£¬È»ºóÖ±½Óµ½ÄÇһҳȥÔĶÁ¡£ºÜÃ÷ÏԵأ¬ÔËÓ ......