SELECT col1=1 AND col2=2 FROM tbl_name;
為二道等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及二道網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、網(wǎng)站制作、二道網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
這個是寫判斷表達(dá)式,返回的應(yīng)該是true或者false
mssql和mysql的區(qū)別
mssql 是微軟的那個 SQL Server,運(yùn)行于windows 2000,2003等平臺
mysql 是個開源的數(shù)據(jù)庫Server,可運(yùn)行在windows平臺、unix\\linux平臺,其標(biāo)準(zhǔn)版是免費(fèi)的,可以到 看看
asp\\php只是一種解釋語言,不一定mssql不能用php,也不一定mysql非得用php,只不過asp-mssql,php-mysql是一種常用的組合
SQL數(shù)據(jù)庫完全手冊_1
SQL是Structured Quevy Language(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡單易學(xué)、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。
##1 二、SQL數(shù)據(jù)庫數(shù)據(jù)體系結(jié)構(gòu)
SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構(gòu)基本上是***結(jié)構(gòu),但使用術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不同。在SQL中,關(guān)系模式(模式)稱為“基本表”(base table);存儲模式(內(nèi)模式)稱為“存儲文件”(stored file);子模式(外模式)稱為“視圖”(view);元組稱為“行”(row);屬性稱為“列”(column)。名稱對稱如^00100009a^:
##1 三、SQL語言的組成
在正式學(xué)習(xí)SQL語言之前,首先讓我們對SQL語言有一個基本認(rèn)識,介紹一下SQL語言的組成:
1.一個SQL數(shù)據(jù)庫是表(Table)的集合,它由一個或多個SQL模式定義。
2.一個SQL表由行集構(gòu)成,一行是列的序列(集合),每列與行對應(yīng)一個數(shù)據(jù)項。
3.一個表或者是一個基本表或者是一個視圖。基本表是實(shí)際存儲在數(shù)據(jù)庫的表,而視圖是由若干基本表或其他視圖構(gòu)成的表的定義。
4.一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應(yīng)。
5.用戶可以用SQL語句對視圖和基本表進(jìn)行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區(qū)別,都是關(guān)系(表格)。
6.SQL用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨(dú)立的用戶接口,供交互環(huán)境下的終端用戶使用。
##1 四、對數(shù)據(jù)庫進(jìn)行操作
SQL包括了所有對數(shù)據(jù)庫的操作,主要是由4個部分組成:
1.數(shù)據(jù)定義:這一部分又稱為“SQL DDL”,定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫、基本表、視圖和索引4部分。
2.數(shù)據(jù)操縱:這一部分又稱為“SQL DML”,其中包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新又包括插入、刪除和更新三種操作。
3.數(shù)據(jù)控制:對用戶訪問數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制語句等。
4.嵌入式SQL語言的使用規(guī)定:規(guī)定SQL語句在宿主語言的程序中使用的規(guī)則。
下面我們將分別介紹:
##2 (一)數(shù)據(jù)定義
SQL數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫、基本表、索引和視圖。
首先,讓我們了解一下SQL所提供的基本數(shù)據(jù)類型:(如^00100009b^)
1.數(shù)據(jù)庫的建立與刪除
(1)建立數(shù)據(jù)庫:數(shù)據(jù)庫是一個包括了多個基本表的數(shù)據(jù)集,其語句格式為:
CREATE DATABASE 數(shù)據(jù)庫名 〔其它參數(shù)〕
其中,數(shù)據(jù)庫名在系統(tǒng)中必須是唯一的,不能重復(fù),不然將導(dǎo)致數(shù)據(jù)存取失誤。〔其它參數(shù)〕因具體數(shù)據(jù)庫實(shí)現(xiàn)系統(tǒng)不同而異。
例:要建立項目管理數(shù)據(jù)庫(xmmanage),其語句應(yīng)為:
CREATE DATABASE xmmanage
(2) 數(shù)據(jù)庫的刪除:將數(shù)據(jù)庫及其全部內(nèi)容從系統(tǒng)中刪除。
其語句格式為:DROP DATABASE 數(shù)據(jù)庫名
例:刪除項目管理數(shù)據(jù)庫(xmmanage),其語句應(yīng)為:
DROP DATABASE xmmanage
2.基本表的定義及變更
本身獨(dú)立存在的表稱為基本表,在SQL語言中一個關(guān)系唯一對應(yīng)一個基本表?;颈淼亩x指建立基本關(guān)系模式,而變更則是指對數(shù)據(jù)庫中已存在的基本表進(jìn)行刪除與修改。
(1)基本表的定義:基本表是非導(dǎo)出關(guān)系,其定義涉及表名、列名及數(shù)據(jù)類型等,其語句格式為:
CREATE TABLE〔數(shù)據(jù)庫名.〕表名
(列名 數(shù)據(jù)類型 〔缺省值〕 〔NOT NULL / NULL〕
〔,列名 數(shù)據(jù)類型 〔缺省值〕 〔NOT NULL / NULL〕〕......
〔,UNIQUE (列名〔,列名〕......)〕
〔,PRIMARY KEY(列名)〕
〔,F(xiàn)OREIGN KEY(列名〔,列名〕......)REFERENCE 表名(列名〔,列名〕......)〕
〔,CHECK(條件)〕 〔其它參數(shù)〕)
其中,〈數(shù)據(jù)庫名〉.〕指出將新建立的表存放于該數(shù)據(jù)庫中;
新建的表由兩部分組成:其一為表和一組列名,其二是實(shí)際存放的數(shù)據(jù)(即可在定義表的同時,直接存放數(shù)據(jù)到表中);
列名為用戶自定義的易于理解的名稱,列名中不能使用空格;
數(shù)據(jù)類型為上面所介紹的幾種標(biāo)準(zhǔn)數(shù)據(jù)類型;
〔NOT NULL/NULL〕指出該列是否允許存放空值,SQL語言支持空值的概念,所謂空值是“不知道”或“無意義”的值,值得注意的是數(shù)據(jù)“0”和空格都不是空值,系統(tǒng)一般默認(rèn)允許為空值,所以當(dāng)不允許為空值時,必須明確使用NOT NULL;
〔,UNIQUE〕將列按照其規(guī)定的順序進(jìn)行排列,如不指定排列順序,則按列的定義順序排列;
〔PRIMARY KEY〕用于指定表的主鍵(即關(guān)系中的主屬性),實(shí)體完整性約束條件規(guī)定:主鍵必須是唯一的,非空的;
〔,F(xiàn)OREIGN KEY (列名〔,列名〕......) REFERENCE表名(列名〔,列名〕......)〕是用于指定外鍵參照完整性約束條件,F(xiàn)OREIGN KEY指定相關(guān)列為外鍵,其參照對象為另外一個表的指定列,即使用REFERENCE引入的外表中的列,當(dāng)不指定外表列名時,系統(tǒng)將默認(rèn)其列名與參照鍵的列名相同,要注意的是:使用外鍵時必須使用參照,另外數(shù)據(jù)的外鍵參照完整性約束條件規(guī)定:外鍵的值要么與相對應(yīng)的主鍵相同,要么為空值(具體由實(shí)現(xiàn)系統(tǒng)不同而異)
〔,CHECK〕用于使用指定條件對存入表中的數(shù)據(jù)進(jìn)行檢查,以確定其合法性,提高數(shù)據(jù)的安全性。
例:要建立一個學(xué)生情況表(student)
CREATE TABLE student //創(chuàng)建基本表student
(st_class CHAR(8),// 定義列st_class班級,數(shù)據(jù)類型為8位定長字符串
st_no CHAR(10) NOT NULL,//定義列st_no學(xué)號,類型為10位定長字符串,非空
st_name CHAR(8) NOT NULL,//定義列st_name姓名,類型為8位定長字符串,非空
st_sex CHAR(2),//定義列st_sex性別,類型為2位定長字符串
st_age SMALLINT,//定義列st_age年齡,類型為短整型
PRIMARY KEY (st_no))//定義st_no學(xué)號為主鍵。
例:要建立課程設(shè)置表(subject)
CREATE TABLE subject//創(chuàng)建基本表subject
(su_no CHAR(4) NOT NULL,// 定義列su_no課號,類型為4位定長字符串,非空
su_subject CHAR(20) NOT NULL,// 定義列su_subject課程名,類型為20位定長字符串,非空
su_credit INTEGER,// 定義列su_credit學(xué)分,類型為長整數(shù)
su_period INTEGER,//定義列su_period學(xué)時,類型為長整數(shù)
su_preno CHAR(4),//定義列su_preno先修課號,類型為4位定長字符串
PRIMARY KEY(su_no))//定義su_no課號為主鍵。
例:要建立學(xué)生選課表(score)
CREATE TABLE score //創(chuàng)建基本表score
(st_no CHAR(10),//定義列st_no學(xué)號,類型為10位定長字符串
su_no CHAR(4),//定義列su_no課號,類型為4位定長字符串
sc_score INTEGER NULL,//定義列sc_score,類型為長整形,可以為空值
FOREIGN KEY (st_no) REFERENCE student,//從表student中引入?yún)⒄胀怄Ist_no,以確保本表與表student的關(guān)聯(lián)與同步
FOREIGN KEY (suno) REFERENCE subject)//從表subject中引入?yún)⒄胀怄Isu_no,以確保本表與表subject的關(guān)聯(lián)與同步
(2)基本表的刪除:用以從數(shù)據(jù)庫中刪除一個基本表及其全部內(nèi)容,其語句格式為:
DROP TABLE〔數(shù)據(jù)庫名.〕表名
例如:將上面建立的表都刪除
DROP TABLE student,subject,score
(3)基本表的修改:在基本表建立并使用一段時間后,可能需要根據(jù)實(shí)際要求對基本表的結(jié)構(gòu)進(jìn)行修改,即增加新的屬性或刪除屬性。
增加屬性的語句格式為:
ALTER TABLE 〔數(shù)據(jù)庫名.〕表名 ADD
(列名 數(shù)據(jù)類型 〔缺省值〕 〔NOT NULL / NULL〕
〔,列名 數(shù)據(jù)類型〔缺省值〕〔NOT NULL / NULL〕〕......
〔,UNIQUE (列名〔,列名〕......)〕
〔,PRIMARY KEY(列名)〕
〔,F(xiàn)OREIGN KEY(列名〔,列名〕......) REFERENCE 表名(列名〔,列名〕......)〕
〔,CHECK(條件)〕〔其它參數(shù)〕)
例如:在基本表student中加入列stborn出生日期,數(shù)據(jù)類型為DATE,且不能為空值
ALTER TABLE student ADD (stborn DATE NOT NULL)
刪除屬性的語句格式為:
ALTER TABLE 〔數(shù)據(jù)庫名.〕表名 DROP
( 列名 數(shù)據(jù)類型 〔缺省值〕〔NOT NULL / NULL〕
〔,列名 數(shù)據(jù)類型 〔缺省值〕〔NOT NULL / NULL〕〕......)
例如:將基本表student中的列st_age刪除
ALTER TABLE student DROP (st_age)
3.視圖定義與刪除
在SQL中,視圖是外模式一級數(shù)據(jù)結(jié)構(gòu)的基本單位。它是從一個或幾個基本表中導(dǎo)出的表,是從現(xiàn)有基本表中抽取若干子集組成用戶的“專用表”。這種構(gòu)造方式必須使用SQL中的SELECT語句來實(shí)現(xiàn)。在定義一個視圖時,只是把其定義存放在系統(tǒng)的數(shù)據(jù)中,而并不直接存儲視圖對應(yīng)的數(shù)據(jù),直到用戶使用視圖時才去求得對應(yīng)的數(shù)據(jù)。
(1)視圖的定義:定義視圖可以使用CREATE VIEW語句實(shí)現(xiàn),其語句格式為:
CREATE VIEW 視圖名 AS SELECT語句
從一個基本表中導(dǎo)出視圖:
例:從基本表student中導(dǎo)出只包括女學(xué)生情況的視圖
CREATE VIEW WOMANVIEW AS //創(chuàng)建一個視圖WOMANVIEW
SELECT st_class,st_no,st_name,st_age //選擇列st_class,st_no,st_name,st_age顯示
FROM student //從基本表student引入
WHERE st_sex=‘女’//引入條件為性別為“女”,注意字符變量都使用單引號引用
從多個基本表中導(dǎo)出視圖:
例如:從基本表student和score中導(dǎo)出只包括女學(xué)生且分?jǐn)?shù)在60分以上的視圖
CREATEVIEW WOMAN_SCORE AS //定義視圖WOMANSCORE
SELECT student.st_class,student.st_no,student.st_name,student.st_age,score.sc_score //有選擇性顯示相關(guān)列
FROM student.score //從基本表student和score中引入
WHERE student.st_sex=‘女’AND score.sc_score=60 AND student.st_no=score.st_no //選擇條件:性別為“女” 且分?jǐn)?shù)在60分以上。并使用st_no將兩表聯(lián)系起來。
以后如果進(jìn)行這一視圖的應(yīng)用,則只需使用語句
SELECT * FROM WOMAN_SCORE //其中“*”為通配符,代表所有元素
(2)視圖的刪除:用于刪除已不再使用的視圖,其語句格式如下:
DROP VIEW 視圖名
例:將上面建立的WOMAN_SCORE視圖刪除
DROP VIEW WOMAN_SCORE
4.索引的定義與刪除
索引屬于物理存儲概念,而不是邏輯的概念。在SQL中拋棄了索引概念,直接使用主鍵概念。值得一提的是,有些關(guān)系DBMS同時包括索引機(jī)制和主鍵機(jī)制,這里我們推薦使用主鍵機(jī)制,因為它對系統(tǒng)資源占用較低且效率較高。
(1)索引的定義:索引是建立在基本表之上的,其語句格式為:
CREATE 〔UNIQUE〕 INDEX 索引名 ON
〔數(shù)據(jù)庫名.〕表名(列名 〔ASC/DESC〕〔,列名 〔ASC/DESC〕〕......)
這里,保留字UNIQUE表示基本表中的索引值不允許重復(fù),若缺省則表示索引值在表中允許重復(fù);DESC表示按索引鍵降序排列,若缺省或ASC表示升序排列。
例:對基本表student中的st_no和st_age建立索引,分別為升序與降序,且索引值不允許重復(fù)
CREATE UNIQUE INDEX STINDEX ON//創(chuàng)建索引STINDEX
student(st_no ASC,st_age DESC)//對student中的st_no和st_age建立索引
(2)索引的刪除:
DROP INDEX 索引名
例:刪除上面建立的索引STINDEX
DROP INDEX STINDEX
##2 (二)數(shù)據(jù)查詢
SQL是一種查詢功能很強(qiáng)的語言,只要是數(shù)據(jù)庫存在的數(shù)據(jù),總能通過適當(dāng)?shù)姆椒▽⑺鼜臄?shù)據(jù)庫中查找出來。SQL中的查詢語句只有一個:SELECT,它可與其它語句配合完成所有的查詢功能。SELECT語句的完整語法,可以有6個子句。完整的語法如下:
SELECT 目標(biāo)表的列名或列表達(dá)式集合
FROM 基本表或(和)視圖集合
〔WHERE條件表達(dá)式〕
〔GROUP BY列名集合
〔HAVING組條件表達(dá)式〕〕
〔ORDER BY列名〔集合〕…〕
整個語句的語義如下:從FROM子句中列出的表中,選擇滿足WHERE子句中給出的條件表達(dá)式的元組,然后按GROUPBY子句(分組子句)中指定列的值分組,再提取滿足HAVING子句中組條件表達(dá)式的那些組,按SELECT子句給出的列名或列表達(dá)式求值輸出。ORDER子句(排序子句)是對輸出的目標(biāo)表進(jìn)行重新排序,并可附加說明ASC(升序)或DESC(降序)排列。
你可以將三個表提取對應(yīng)的id 和date , 然后用sql加成一個表,之后在對date進(jìn)行排序,然后獲取不重復(fù)的id,再用排序后的id獲取相關(guān)的記錄達(dá)到你說的那個效果,語句有點(diǎn)復(fù)雜,你自己看著寫吧,也就是那個過程。
是兩個表吧 首先,找ta表中的不同 select f1 from ta where f1 not in ( select f1 from tb ) 把 ta ,f1中不在 tb 的值顯示出來 然后,找tb表中的不同 select f1 from tb where f1 not in ( select f1 from ta ) 把 tb ,f1中不在 ta 的值顯示出來