萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> access與sql語法上有哪些區別

access與sql語法上有哪些區別

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

  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";

  在時間的處理:

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

  Access 語句" Select * From tt1 Where time1>#2009-12-01#"也可以用上面語句

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

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

  Access與SQL SERVER數據庫轉換

  由於SQL2000裡面沒有"自動編號",所以你的以"自動編號"設置的字段都會變成非空的字段,這就必須手工修改這些字段,並把他的"標示"選擇"是",種子為"1",增量為"1",

  2,另外,ACCESS2000轉換成SQL2000後,原來屬性為"是/否"的字段將被轉換成非空的"bit",這時候你必須修改成自己想要的屬性了;

  ACCESS轉SQL SERVER中的一些經驗

  1.ACCESS的數據庫中的自動編號類型在轉化時,sql server並沒有將它設為自動編號型,我們需在SQL創建語句中加上identity,表示自動編號! 2.轉化時,跟日期有關的字段,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。

  3.對此兩種數據庫進行操作的sql語句不全相同,例如:在對ACCESS數據庫進行刪除紀錄時用:"delete * from user where id=10",而對SQL SERVER數據庫進行刪除是用:"delete user where id=10".

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

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

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

  1、必須先安裝Microsoft Office Access 2003,和SQL Server2000。2、把舊的動網數據庫備份,備份完成後,用Access 2003打開動網舊數據庫,在打開時會出現一個警告,不要理會它(安全警告),按打開鍵,打開後按工具欄--數據庫實用工具--轉換數據庫--轉換為2002-2003格式,把數據庫轉換成2003格式。

  2、轉換完成後再用Access 2003打開,打開後按工具欄--數據庫實用工具--升遷向導--新建數據庫--填寫SQL數據庫登陸名稱、密碼和要新建的動網數據庫(准備轉成新的動網數據庫),按下一步,按" 》"鍵,再按下一步,選取所有選項,再按下一步,選擇"不對應用程序作任何改動",再按完成。

  3、打開SQL企業管理器--數據庫 吹礁詹判陸ǖ畝 菘饬稅桑 慊髡飧鍪 菘庖幌攏 緩笤诠ぞ呃浮 ?/FONT>SQL腳本--常規--全部顯示--編寫全部對象腳本--確定(記住存放的位置)。

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

  5、打開SQL企業管理器--數據庫--點擊這個數據庫一下新建的動網數據庫,然後在工具欄--SQL查詢分析器--文件--打開--"剛才生成的SQL腳本"--查詢--執行,然後關閉窗口。

  6、再回到SQL企業管理器--數據庫--點擊這個數據庫一下新建的動網數據庫,然後打開工具欄--數據庫轉換服務--導入數據--下一步--數據源"Microsoft Access"文件名"為舊的動網數據庫"--下一步--再下一步--從源數據復制表和視圖--下一步--全選--下一步--立即運行--下一步--完成。

  7、修改動網文件夾兩個文件conn.asp和incconst.asp。

  SQL是Structured Quevy Language(結構化查詢語言)的縮寫。SQL是專為數據庫而建立的操作命令集,是一種功能齊全的數據庫語言。在使用它時,只需要發出"做什麼"的命令,"怎麼做"是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了數據庫操作的基礎,並且現在幾乎所有的數據庫均支持SQL。 <br>

  ##1 二、SQL數據庫數據體系結構 <br>

  SQL數據庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為"基本表"(base table);存儲模式(內模式)稱為"存儲文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。名稱對稱如^00100009a^: <br>

  ##1 三、SQL語言的組成 <br>

  在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成: <br>

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

  2.一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。 <br>

  3.一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在數據庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。 <br>

  4.一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。 <br>

  5.用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。 <br>

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

  ##1 四、對數據庫進行操作 <br>

  SQL包括了所有對數據庫的操作,主要是由4個部分組成: <br>

  1.數據定義:這一部分又稱為"SQL DDL",定義數據庫的邏輯結構,包括定義數據庫、基本表、視圖和索引4部分。 <br>

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

  3.數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。 <br>

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

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

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

  SQL數據定義功能包括定義數據庫、基本表、索引和視圖。 <br>

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

  1.數據庫的建立與刪除 <br>

  (1)建立數據庫:數據庫是一個包括了多個基本表的數據集,其語句格式為: <br>

  CREATE DATABASE <數據庫名> 〔其它參數〕 <br>

  其中,<數據庫名>在系統中必須是唯一的,不能重復,不然將導致數據存取失誤。〔其它參數〕因具體數據庫實現系統不同而異。 <br>

  例:要建立項目管理數據庫(xmmanage),其語句應為: <br>

  CREATE DATABASE xmmanage <br>

  (2) 數據庫的刪除:將數據庫及其全部內容從系統中刪除。 <br>

  其語句格式為:DROP DATABASE <數據庫名> <br>

  例:刪除項目管理數據庫(xmmanage),其語句應為: <br>

  DROP DATABASE xmmanage <br>

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

  本身獨立存在的表稱為基本表,在SQL語言中一個關系唯一對應一個基本表。基本表的定義指建立基本關系模式,而變更則是指對數據庫中已存在的基本表進行刪除與修改。 <br>


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

copyright © 萬盛學電腦網 all rights reserved