数据库(四)之数据库表管理
字段的數據類型
數字數據類型
字符數據類型
日期和時間數據類型
?datetime和smalldatetime:
日期和時間數據類型包括datetime和smalldatetime兩種類型。這兩種類型的差別在于其表示的日期和時間范圍不同,時間精確的也不同。datetime所存儲的日期范圍是從1753年1月1日到9999年12月31日結束,時間精確的是3.33毫秒。使用smalldatetime數據類型時,所存儲的日期范圍是1900年1月1日到2079年12月31日結束,時間精確度是1分鐘。
二進制數據類型
二進制數據類型包括binary,varbinary,image等3種數據類型,可以用于存儲二進制數據。其中,binary用于存儲固定長度的二進制數據,varbinary用于存儲可變長度的二進制數據。binary(n)和varbinary(n)的數據長度有n值來決定,n的取值范圍是1~8000。image數據類型用于存儲圖像信息。
專用數據類型
除了前面介紹的數據類型之外,Microsoft SQL Server 2008系統還提供了cursor,sql_variant,table,timestamp,uniqueidentifier,xml等6種特殊用途的本機數據類型。使用這些數據類型可以完成特殊數據對象的定義,存儲和使用。
創建表
語法格式
CREATE TABLE[ database_name.[schema_name].|schema_name.]table_name( { <colume_definition> | < computed_column_definition > | < colume_set_definition>} [,...n] )[ ON {partiton_scheme_name (partition_colume_name ) | filegroup | "default"}][ { TEXTMAGE_ON { filegroup | "default" } } ][ FILESTAREAM_ON { partition_scheme_name | filegroup | "default"}][ WITH ( <table_option>[,...n])][;]例子:
CREATE TABLE 員工信息 (員工編號 int IDENTITY,員工姓名 nvarchar (10) NULL,所在部門編號 int NULL,所任職位 nvarchar (20) NULL,性別 nvarchar (5) NULL,籍貫 nvarchar (30) NULL,婚姻狀況 nvarchar (5) NULL,政治面貌 nvarchar (10) NULL,文化程度 nvarchar (10) NULL,專業 nvarchar (30) NULL,聯系電話 int NULL,入職時間 datetime NULL,離職時間 datetime NULL,在職狀態 nvarchar (10) NULL,照片 image NULL )臨時表
臨時表,顧名思義,是臨時創建的,不能永久保存的表。
臨時表又可以分為本地臨時表和全局臨時表。本地臨時表的名稱以單個符號#打頭,他們僅對當前的用戶連接是可見的,當用戶從SQL Server 2008實例斷開連接時自動被刪除;全局臨時表的名稱以兩個數字符號##打頭,創建后對任何用戶都是可見的,當所有引用該表的用戶從SQL Server 2008 斷開連接時被刪除。
設置標識字段
使用默認值
創建約束
修改表
-
- alter table 新員工信息 ?add 工齡 INT null
- ?alter table 新員工信息 ?alter column 工齡 smallint null
- ?alter table 新員工信息 ?drop column 工齡
用戶自定義數據類型
用戶自己設計并實現的數據類型就稱為用戶自定義數據類型,即使這些數據類型基于系統數據類型。當幾個表中必須存儲用一種數據類型時,并且為保證這些列有相同的數據類型,長度和可空性時,可以使用用戶自定義的數據類型。
當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱,所基于的系統數據類型,數據類型的可空性。數據庫,可編程性,類型,用戶定義數據類型。
規則
規則是單獨的SQL Server對象,可以關聯到一個或幾個表中的一列或多列。它可以使用多種方式來完成對數據值的檢驗,可以使用函數返回驗證信息,也可以使用關鍵字BETWEEN,LIKE和IN完成對輸入數據的檢查。
規則的作用是CHECK約束的部分功能相同,在向表的某列插入或更新數據時,用它來限制輸入的新值得取值范圍。規則于CHECK約束得不同主要表現在以下方面:
- CHECK約束時用CREATE TABLE語句在創建表時指定得,而規則需要作為單獨得數據庫對象來實現。
- 在一列上只能使用一個規則,但可以使用多個CHECK約束。
語法格式
CREATE RULE rule_nameAScondition_expression例子:
create rule sorceas@value between 0 and 100綁定規則:sp_bindrule sorce, '成績信息.分數'
解除綁定:sp_unbindrule '成績信息.分數'
?
?
?
轉載于:https://www.cnblogs.com/ZGreMount/p/8599467.html
總結
以上是生活随笔為你收集整理的数据库(四)之数据库表管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python模块和包(模块、包、发布模块
- 下一篇: 解决mysql插入数据时出现Incorr