SQL Ö÷¼üµÄÓ÷¨
Ö÷¼ü (Primary Key) ÖеÄÿһ±Ê×ÊÁ϶¼ÊDZí¸ñÖеÄΨһֵ¡£»»ÑÔÖ®£¬ËüÊÇÓÃÀ´¶ÀÒ»ÎÞ¶þµØÈ·ÈÏÒ»¸ö±í¸ñÖеÄÿһÐÐ×ÊÁÏ¡£Ö÷¼ü¿ÉÒÔÊÇÔ±¾×ÊÁÏÄÚµÄÒ»¸öÀ¸Î»£¬»òÊÇÒ»¸öÈËÔìÀ¸Î» (ÓëÔ±¾×ÊÁÏûÓйØÏµµÄÀ¸Î»)¡£Ö÷¼ü¿ÉÒÔ°üº¬Ò»»ò¶à¸öÀ¸Î»¡£µ±Ö÷¼ü°üº¬¶à¸öÀ¸Î»Ê±£¬³ÆÎª×éºÏ¼ü (Composite Key)¡£
Ö÷¼ü¿ÉÒÔÔÚ½¨ÖÃбí¸ñʱÉ趨 (ÔËÓà CREATE TABLE Óï¾ä)£¬»òÊÇÒԸıäÏÖÓеıí¸ñ¼Ü¹¹·½Ê½É趨 (ÔËÓà ALTER TABLE)¡£
ÒÔϾټ¸¸öÔÚ½¨ÖÃбí¸ñʱÉ趨Ö÷¼üµÄ·½Ê½£º
MySQL:
CREATE TABLE Customer
(SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID));
Oracle:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
SQL Server:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
ÒÔÏÂÔòÊÇÒԸıäÏÖÓбí¸ñ¼Ü¹¹À´É趨Ö÷¼üµÄ·½Ê½£º
MySQL:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
Oracle:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
SQL Server:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
Çë×¢Ò⣬ÔÚÓÃALTER TABLEÓï¾äÀ´Ìí¼ÓÖ÷¼ü֮ǰ£¬ÎÒÃÇÐèҪȷÈϱ»ÓÃÀ´µ±×öÖ÷¼üµÄÀ¸Î»ÊÇÉ趨Ϊ ¡ºNOT NULL¡» £»Ò²¾ÍÊÇ˵£¬ÄǸöÀ¸Î»Ò»¶¨²»ÄÜûÓÐ×ÊÁÏ¡£
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
LIKE ÊÇÁíÒ»¸öÔÚ WHERE ×Ó¾äÖлáÓõ½µÄÖ¸Áî¡£»ù±¾ÉÏ£¬LIKE ÄÜÈÃÎÒÃÇÒÀ¾ÝÒ»¸öÌ×ʽ (pattern) À´ÕÒ³öÎÒÃÇÒªµÄ×ÊÁÏ¡£Ïà¶ÔÀ´Ëµ£¬ÔÚÔËÓà IN µÄʱºò£¬ÎÒÃÇÍêÈ«µØÖªµÀÎÒÃÇÐèÒªµÄÌõ¼þ£»ÔÚÔËÓà BETWEEN µÄʱºò£¬ÎÒÃÇÔòÊÇÁгöÒ»¸ö·¶Î§¡£ LIKE µÄÓï·¨ÈçÏ£º
SELECT "À¸Î»Ãû"
from "±í¸ñÃû"
WHERE "À¸Î»Ãû" LIKE {Ì×ʽ}
{Ì×ʽ} ......
¼ÈÈ»Êý¾Ý¿âÖÐÓÐÐí¶à×ÊÁ϶¼ÊÇÒÑÊý×ÖµÄÐÍ̬´æÔÚ£¬Ò»¸öºÜÖØÒªµÄÓÃ;¾ÍÊÇÒªÄܹ»¶ÔÕâЩÊý×Ö×öһЩÔËË㣬ÀýÈ罫ËüÃÇ×ÜºÏÆðÀ´£¬»òÊÇÕÒ³öËüÃÇµÄÆ½¾ùÖµ¡£SQL ÓÐÌṩһЩÕâÒ»ÀàµÄº¯Êý¡£ËüÃÇÊÇ£º
AVG (ƽ¾ù)
COUNT (¼ÆÊý)
MAX (×î´óÖµ)
MIN (×îСֵ)
SUM (×ܺÏ)
ÔËÓú¯ÊýµÄÓï·¨ÊÇ£º
SELECT "º¯ÊýÃû"("À¸Î»Ãû")
from "± ......
ÏÖÔÚÎÒÃǽéÉÜÁ¬½Ó(join)µÄ¸ÅÄî¡£ÒªÁ˽âÁ¬½Ó£¬ÎÒÃÇÐèÒªÓõ½Ðí¶àÎÒÃÇ֮ǰÒѽéÉܹýµÄÖ¸Áî¡£ ÎÒÃÇÏȼÙÉèÎÒÃÇÓÐÒÔϵÄÁ½¸ö±í¸ñ£¬
Store_Information ±í¸ñ
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-199 ......
֮ǰÎÒÃÇ¿´µ½µÄ×óÁ¬½Ó (left join)£¬ÓÖ³ÆÄÚ²¿Á¬½Ó (inner join)¡£ÔÚÕâ¸öÇé¿öÏ£¬ÒªÁ½¸ö±í¸ñÄÚ¶¼ÓÐͬÑùµÄÖµ£¬ÄÇÒ»±Ê×ÊÁϲŻᱻѡ³ö¡£ÄÇÈç¹ûÎÒÃÇÏëÒªÁгöÒ»¸ö±í¸ñÖÐÿһ±ÊµÄ×ÊÁÏ£¬ÎÞÂÛËüµÄÖµÔÚÁíÒ»¸ö±í¸ñÖÐÓÐûÓгöÏÖ£¬ÄǸÃÔõô°ìÄØ£¿ÔÚÕâ¸öʱºò£¬ÎÒÃǾÍÐèÒªÓõ½ SQL OUTER JOIN (ÍⲿÁ¬½Ó) µÄÖ¸Áî¡£
ÍⲿÁ¬½ÓµÄÓï·¨ÊÇÒÀÊý¾ ......