T-Sql小結_02 關鍵字_02
阿新 • • 發佈:2017-05-15
創建數據庫 restrict length 多個 寫到 ipc varchar pan 功能 ,總的來說,數據是存在數據庫表中的,基本上我們的sql操作最終都是以操作數據庫中的數據為目的的。
那麽回到上篇,創建數據庫對象一般用Create,然後插入數據的話用到Insert。
這裏刪除也是一樣的,刪除數據庫對象一般用Drop,刪除數據用Delete。如:
Drop Database xxx;
Drop Table xxx;
Drop View xxx;
...
Delete from table where ...
上面說的是刪,修改的話還是一樣的,修改對象用Alter,修改數據用Update。如:
Alter table1 Alter Column xxx int null --修改表的列的類型
Update table1 Set xxx = yyy where ... --修改滿足條件的xxx字段的值為yyy
說到Alter,有些關於修改表的相關,比如:
ALTER TABLE distributors ADD address varchar(30); --向sql server表中增加一個varchar列
ALTER TABLE distributors DROP COLUMN address RESTRICT; --從sql server表中刪除一個字段
ALTER TABLE distributors RENAME COLUMN address TO city; --更改表的列名
ALTER TABLE distributors RENAME TO suppliers; --更改表的名字
ALTER TABLE distributors ALTER COLUMN street SET NOT NULL; --給一個字段增加一個非空約束
ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL; --從一個字段裏刪除一個非空約束
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5); --給一個表增加一個檢查約束
ALTER TABLE distributors DROP CONSTRAINT zipchk; --刪除一個表和它的所有子表的監查約束
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL; --向表中增加一個外鍵約束
ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode); --給表增加一個(多字段)唯一約束
上次我們說到了sql裏面的增Create和Insert,那麽如果我們要刪除和修改要怎麽辦呢?
首先我們要明確一件事情,那就是數據庫對象和數據的區別,這個其實在上一次裏面就該提到,因為剛開始寫,想到哪就寫到哪吧,隨筆隨筆嘛,上次還有很多創建的也就忘了,哈哈。莫怪。
數據庫對象是數據庫的組成部分,主要有
1. 表 表應該是數據庫中最基礎的對象了,它是數據庫用來存儲格式化數據的對象。數據庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。列由同類的信息組成,每列又稱為一個字段,每列的標題稱為字段名。行包括了若幹列信息項。一行數據稱為一個或一條記錄,它表達有一定意義的信息組合。一個數據庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用於唯一地確定一條記錄。 2. 索引 索引是對表中每一條數據記錄的獨特標記,是根據指定的數據庫表列建立起來的順序。它提供了快速訪問數據的途徑,並且可監督表的數據,使其索引所指向的列中的數據不重復。如聚簇索引。 3. 視圖 視圖看上去同表似乎一模一樣,具有一組命名的字段和數據項,但它其實是一個虛擬的表,在數據庫中並不實際存在。視圖是由查詢數據庫表產生的,它限制了用戶能看到和修改的數據。由此可見,視圖可以用來控制用戶對數據的訪問,並能簡化數據的顯示,即通過視圖只顯示那些需要的數據信息。 4. 圖表 圖表是數據庫中表表之間的關系示意圖,利用它可以編輯表和表之間的關系。這樣如果一個數據庫中存在多個表的話就不會孤立,而是產生了聯系,從而簡化對多個表的訪問。 5. 缺省值 缺省值是當在表中創建列或插入數據時,對沒有指定其具體值的列或列數據項賦予事先設定好的值。 6. 規則 規則就是限制,不過需要註意的是數據庫裏的規則只針對表中的列而言,對數據庫表中數據信息的限制。 7. 觸發器 觸發器由事件來觸發,可以查詢其他表,而且可以包含復雜的SQL語句。它們主要用於強制服從復雜的業務規則或要求。也可用於強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。 8. 存儲過程 存儲過程是為完成特定的功能而匯集在一起的一組SQL 程序語句,經編譯後存儲在數據庫中的SQL 程序。 9. 用戶 所謂用戶就是有權限訪問數據庫的人。 然後是數據庫的數據ALTER TABLE distributors DROP COLUMN address RESTRICT; --從sql server表中刪除一個字段
ALTER TABLE distributors RENAME COLUMN address TO city; --更改表的列名
ALTER TABLE distributors RENAME TO suppliers; --更改表的名字
ALTER TABLE distributors ALTER COLUMN street SET NOT NULL; --給一個字段增加一個非空約束
ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL; --從一個字段裏刪除一個非空約束
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5); --給一個表增加一個檢查約束
ALTER TABLE distributors DROP CONSTRAINT zipchk; --刪除一個表和它的所有子表的監查約束
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL; --向表中增加一個外鍵約束
ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode); --給表增加一個(多字段)唯一約束
T-Sql小結_02 關鍵字_02