當(dāng)前位置: 首頁(yè)IT技術(shù) → access與sql語(yǔ)法上有哪些區(qū)別

access與sql語(yǔ)法上有哪些區(qū)別

更多

假設(shè)表game有一字段為gameYuiJian為bit字段(SQL SERVER 20005)和"是/否"字段(ACCSS數(shù)據(jù)庫(kù)),在編寫(xiě)腳本文件時(shí),如下才能正確執(zhí)行

  SQL strCmd = "Select Top 14 * From game Where gameTuiJian = 1 Order By Id Desc";

  OleDb strCmd = "Select Top 14 * From game Where gameTuiJian = true Order By Id Desc";

  在時(shí)間的處理:

  sql server 語(yǔ)句"Select * From tt1 Where time1>'2009-12-01' "

  access 語(yǔ)句" Select * From tt1 Where time1>#2009-12-01#"也可以用上面語(yǔ)句

  Sql Server 語(yǔ)句"Select * From tt1 Where DateDiff(day,time1,getdate())

  Access語(yǔ)句"Select * From tt1 Where DateDiff('d',time1,now)

  Access與SQL SERVER數(shù)據(jù)庫(kù)轉(zhuǎn)換

  由于SQL2000里面沒(méi)有"自動(dòng)編號(hào)",所以你的以"自動(dòng)編號(hào)"設(shè)置的字段都會(huì)變成非空的字段,這就必須手工修改這些字段,并把他的"標(biāo)示"選擇"是",種子為"1",增量為"1",

  2,另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來(lái)屬性為"是/否"的字段將被轉(zhuǎn)換成非空的"bit",這時(shí)候你必須修改成自己想要的屬性了;

  ACCESS轉(zhuǎn)SQL SERVER中的一些經(jīng)驗(yàn)

  1.ACCESS的數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào)類型在轉(zhuǎn)化時(shí),sql server并沒(méi)有將它設(shè)為自動(dòng)編號(hào)型,我們需在SQL創(chuàng)建語(yǔ)句中加上identity,表示自動(dòng)編號(hào)! 2.轉(zhuǎn)化時(shí),跟日期有關(guān)的字段,SQL SERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因?yàn)閐atetime型的范圍比smalldatetime型大。我遇見(jiàn)這種情況,用smalldatetime型時(shí),轉(zhuǎn)化失敗,而用datetime型時(shí),轉(zhuǎn)化成功。

  3.對(duì)此兩種數(shù)據(jù)庫(kù)進(jìn)行操作的sql語(yǔ)句不全相同,例如:在對(duì)ACCESS數(shù)據(jù)庫(kù)進(jìn)行刪除紀(jì)錄時(shí)用:"delete * from user where id=10",而對(duì)SQL SERVER數(shù)據(jù)庫(kù)進(jìn)行刪除是用:"delete user where id=10".

  4.日期函數(shù)不相同,在對(duì)ACCESS數(shù)據(jù)庫(kù)處理中,可用date()、time()等函數(shù),但對(duì)

  SQL SERVER數(shù)據(jù)庫(kù)處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。

  5.在對(duì)ACCESS數(shù)據(jù)庫(kù)處理中,sql語(yǔ)句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對(duì)SQL SERVER數(shù)據(jù)庫(kù)處理中,卻不能用。

  1、必須先安裝microsoft Office Access 2003,和SQL Server2000。2、把舊的動(dòng)網(wǎng)數(shù)據(jù)庫(kù)備份,備份完成后,用Access 2003打開(kāi)動(dòng)網(wǎng)舊數(shù)據(jù)庫(kù),在打開(kāi)時(shí)會(huì)出現(xiàn)一個(gè)警告,不要理會(huì)它(安全警告),按打開(kāi)鍵,打開(kāi)后按工具欄--數(shù)據(jù)庫(kù)實(shí)用工具--轉(zhuǎn)換數(shù)據(jù)庫(kù)--轉(zhuǎn)換為2002-2003格式,把數(shù)據(jù)庫(kù)轉(zhuǎn)換成2003格式。

  2、轉(zhuǎn)換完成后再用Access 2003打開(kāi),打開(kāi)后按工具欄--數(shù)據(jù)庫(kù)實(shí)用工具--升遷向?qū)?-新建數(shù)據(jù)庫(kù)--填寫(xiě)SQL數(shù)據(jù)庫(kù)登陸名稱、密碼和要新建的動(dòng)網(wǎng)數(shù)據(jù)庫(kù)(準(zhǔn)備轉(zhuǎn)成新的動(dòng)網(wǎng)數(shù)據(jù)庫(kù)),按下一步,按" 》"鍵,再按下一步,選取所有選項(xiàng),再按下一步,選擇"不對(duì)應(yīng)用程序作任何改動(dòng)",再按完成。

  3、打開(kāi)SQL企業(yè)管理器--數(shù)據(jù)庫(kù) 吹礁詹判陸ǖ畝 菘飭稅桑 慊髡飧鍪 菘庖幌攏 緩笤詮ぞ呃浮 ?/FONT>SQL腳本--常規(guī)--全部顯示--編寫(xiě)全部對(duì)象腳本--確定(記住存放的位置)。

  4、用記事本打開(kāi)剛才生成的SQL腳本,在編輯欄--替換--查找內(nèi)容為"smalldatetime"替換為"datetime"--替換全部;完成后再在編輯欄--替換--查找內(nèi)容為"nvarchar"替換為"varcha"--替換全部,完成后保存退出。

  5、打開(kāi)SQL企業(yè)管理器--數(shù)據(jù)庫(kù)--點(diǎn)擊這個(gè)數(shù)據(jù)庫(kù)一下新建的動(dòng)網(wǎng)數(shù)據(jù)庫(kù),然后在工具欄--SQL查詢分析器--文件--打開(kāi)--"剛才生成的SQL腳本"--查詢--執(zhí)行,然后關(guān)閉窗口。

  6、再回到SQL企業(yè)管理器--數(shù)據(jù)庫(kù)--點(diǎn)擊這個(gè)數(shù)據(jù)庫(kù)一下新建的動(dòng)網(wǎng)數(shù)據(jù)庫(kù),然后打開(kāi)工具欄--數(shù)據(jù)庫(kù)轉(zhuǎn)換服務(wù)--導(dǎo)入數(shù)據(jù)--下一步--數(shù)據(jù)源"Microsoft Access"文件名"為舊的動(dòng)網(wǎng)數(shù)據(jù)庫(kù)"--下一步--再下一步--從源數(shù)據(jù)復(fù)制表和視圖--下一步--全選--下一步--立即運(yùn)行--下一步--完成。

  7、修改動(dòng)網(wǎng)文件夾兩個(gè)文件conn.asp和inc\const.asp。

  SQL是Structured Quevy Language(結(jié)構(gòu)化查詢語(yǔ)言)的縮寫(xiě)。SQL是專為數(shù)據(jù)庫(kù)而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫(kù)語(yǔ)言。在使用它時(shí),只需要發(fā)出"做什么"的命令,"怎么做"是不用使用者考慮的。SQL功能強(qiáng)大、簡(jiǎn)單易學(xué)、使用方便,已經(jīng)成為了數(shù)據(jù)庫(kù)操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫(kù)均支持SQL。 <br>

  ##1 二、SQL數(shù)據(jù)庫(kù)數(shù)據(jù)體系結(jié)構(gòu) <br>

  SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)體系結(jié)構(gòu)基本上是三級(jí)結(jié)構(gòu),但使用術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不同。在SQL中,關(guān)系模式(模式)稱為"基本表"(base table);存儲(chǔ)模式(內(nèi)模式)稱為"存儲(chǔ)文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。名稱對(duì)稱如^00100009a^: <br>

  ##1 三、SQL語(yǔ)言的組成 <br>

  在正式學(xué)習(xí)SQL語(yǔ)言之前,首先讓我們對(duì)SQL語(yǔ)言有一個(gè)基本認(rèn)識(shí),介紹一下SQL語(yǔ)言的組成: <br>

  1.一個(gè)SQL數(shù)據(jù)庫(kù)是表(Table)的集合,它由一個(gè)或多個(gè)SQL模式定義。 <br>

  2.一個(gè)SQL表由行集構(gòu)成,一行是列的序列(集合),每列與行對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。 <br>

  3.一個(gè)表或者是一個(gè)基本表或者是一個(gè)視圖;颈硎菍(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)的表,而視圖是由若干基本表或其他視圖構(gòu)成的表的定義。 <br>

  4.一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表。每個(gè)存儲(chǔ)文件與外部存儲(chǔ)上一個(gè)物理文件對(duì)應(yīng)。 <br>

  5.用戶可以用SQL語(yǔ)句對(duì)視圖和基本表進(jìn)行查詢等操作。在用戶角度來(lái)看,視圖和基本表是一樣的,沒(méi)有區(qū)別,都是關(guān)系(表格)。 <br>

  6.SQL用戶可以是應(yīng)用程序,也可以是終端用戶。SQL語(yǔ)句可嵌入在宿主語(yǔ)言的程序中使用,宿主語(yǔ)言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語(yǔ)言等。SQL用戶也能作為獨(dú)立的用戶接口,供交互環(huán)境下的終端用戶使用。 <br>

  ##1 四、對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作 <br>

  SQL包括了所有對(duì)數(shù)據(jù)庫(kù)的操作,主要是由4個(gè)部分組成: <br>

  1.數(shù)據(jù)定義:這一部分又稱為"SQL DDL",定義數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫(kù)、基本表、視圖和索引4部分。 <br>

  2.數(shù)據(jù)操縱:這一部分又稱為"SQL DML",其中包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新又包括插入、刪除和更新三種操作。 <br>

  3.數(shù)據(jù)控制:對(duì)用戶訪問(wèn)數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制語(yǔ)句等。 <br>

  4.嵌入式SQL語(yǔ)言的使用規(guī)定:規(guī)定SQL語(yǔ)句在宿主語(yǔ)言的程序中使用的規(guī)則。 <br>

  下面我們將分別介紹: <br>

  ##2 (一)數(shù)據(jù)定義 <br>

  SQL數(shù)據(jù)定義功能包括定義數(shù)據(jù)庫(kù)、基本表、索引和視圖。 <br>

  首先,讓我們了解一下SQL所提供的基本數(shù)據(jù)類型:(如^00100009b^) <br>

  1.數(shù)據(jù)庫(kù)的建立與刪除 <br>

  (1)建立數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是一個(gè)包括了多個(gè)基本表的數(shù)據(jù)集,其語(yǔ)句格式為: <br>

  CREATE DATABASE <數(shù)據(jù)庫(kù)名> 〔其它參數(shù)〕 <br>

  其中,<數(shù)據(jù)庫(kù)名>在系統(tǒng)中必須是唯一的,不能重復(fù),不然將導(dǎo)致數(shù)據(jù)存取失誤。〔其它參數(shù)〕因具體數(shù)據(jù)庫(kù)實(shí)現(xiàn)系統(tǒng)不同而異。 <br>

  例:要建立項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)為: <br>

  CREATE DATABASE xmmanage <br>

  (2) 數(shù)據(jù)庫(kù)的刪除:將數(shù)據(jù)庫(kù)及其全部?jī)?nèi)容從系統(tǒng)中刪除。 <br>

  其語(yǔ)句格式為:DROP DATABASE <數(shù)據(jù)庫(kù)名> <br>

  例:刪除項(xiàng)目管理數(shù)據(jù)庫(kù)(xmmanage),其語(yǔ)句應(yīng)為: <br>

  DROP DATABASE xmmanage <br>

  2.基本表的定義及變更 <br>

  本身獨(dú)立存在的表稱為基本表,在SQL語(yǔ)言中一個(gè)關(guān)系唯一對(duì)應(yīng)一個(gè)基本表;颈淼亩x指建立基本關(guān)系模式,而變更則是指對(duì)數(shù)據(jù)庫(kù)中已存在的基本表進(jìn)行刪除與修改。 <br>


INSERT   INTO   mobile   SELECT   mobileID, ' ' '+mobilephone     FROM   OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel   8.0;Database=D:\Mobile.xls ',   'SELECT   *   FROM   [Sheet1$] ')

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)