Access和SQLServer雖然都是微軟的產品,但它們在SQL語句的用法上是有一些差別的。用到Access時,要這麼寫;SQLServer則要那麼寫,確實有點煩。
本文將它們的共同點都給總結了出來,實際應用時只要遵照這一種寫法就可以啦,再不用考慮它們之間的差別了。
新建數據表
新建數據表的SQL語句格式如下:
Create Table TableName(ColName Type, ColName Type, ColName Type……)
例如,創建一個名為“交費名錄”的數據表,SQL語句如下圖所示:
創建數據表時,還可對指定列設置以下屬性:
primary key:設為主鍵列。
identity:設為自動編號列。它有兩個可選參數:第一個參數表示開始編號的值,第二個參數表示自增步長。例如,identity(3,5)就表示從3開始編號,步長為5。默認為從1開始編號,每次增加1。
not null:不允許為空值(默認為null)。
default:默認值。
例如,以下SQL語句將創建新表“test”,共包含5列:
create table test(id int identity primary key,姓名 nvarchar(6) not null,性別 bit,出生日期 datetime,交費金額 numeric(5,2))
其中,“id”列的數據類型為int,同時還設置為自增型的主鍵(當指定identity自增屬性時,Access數據源可以省略列類型,SQLServer則不能省略);“姓名”列不允許為空。
修改數據表
對於數據源中的現成表,可使用alter table語句對其結構進行修改。關於表結構修改,主要包括以下三個方面:
【修改列】例如,將test表中的“姓名”列長度改為10,同時允許空值:
alter table test alter column 姓名 nvarchar(10) null
【增加列】例如,在test表中增加“交費日期”列:
alter table test add 交費日期 datetime
【刪除列】例如,刪除test表中的“交費日期”列:
alter table test drop column 交費日期
刪除數據表
例如,將新增的test表刪除:
drop table test
重命名錶
Access和SQLServer都沒有可以直接重命名錶的SQL語句,一般都是採取建新表、刪舊錶的方式解決。不過,SQLServer數據庫內置了一個SP_RENAME的存儲過程,通過執行此存儲過程可實現重命名錶的目的。例如,將表“交費名錄”改名為英文的“jfml”:
以上就是在Access和SQLServer數據庫中使用SQL語句操作數據表的最常見用法,同樣的代碼在兩種數據庫中全部運行通過!exec sp_rename '交費名錄','jfml'
閱讀更多 職場碼上匯 的文章