A. sql Server限制輸入值的取值范圍的是什麼
SQL Server限制輸入值的取值范圍的是用戶自己定義的。
CHECK 約束用於限制列中的值的范圍。
如果對單個列定義 CHECK 約束,那麼該列只允許特定的值。
如果對一個表定義 CHECK 約束,那麼此約束會在特定的列中對值進行限制。
撤銷 CHECK 約束
如需撤銷 CHECK 約束,請使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
(1)sql設置檢查約束范圍擴展閱讀
check主要用於限定欄位值的范圍
常見用法舉例:
1、重量需大於0,並且小於等於100
WEIGHT NUMERIC(9,2) CHECK(WEIGHT>0 AND WEIGHT<=100
2、性別取『男』或者『女』
SSEX CHAR(2) CHECK(SSEX='male' OR SSEX='female')
3、年齡取15-45
SAGE SMALLINT CHECK(SAGE>=15 AND SAGE<=45)
4、學分大於0
SEMSTER SMALLINT CHECK(SEMSTER>0)
B. SQL中的幾種約束的創建與刪除
約束的目的就是確保表中的數據的完整性。
常用的約束類型如下:
主鍵約束:(Primary Key constraint) 要求主鍵列唯一,並且不允許為空
唯一約束:(Unique Constraint) 要求該列唯一,允許為空,但只能出現一個空值
檢查約束:(Check Constraint) 某列取值范圍限制、格式限制等。如有關年齡的限制
默認約束:(Default Constraint) 某列的默認值,如我們的男性學員比較多,性別默認為男
外鍵約束:(Foreign Key Constraint) 用於在兩表之間建立關系,需要指定引用主表的哪一列
一、添加約束
在創建表時,我們可以在欄位後添加各種約束,但一般不這樣混用,推薦將添加約束和建表的語句分開編寫。
添加約束的語法如下:
Code:
Alter Table 表名
Add Constraint 約束名 約束類型 具體的約束類型
上述語法標識修改某個表,添加某個約束,其中約束名的命名規則推薦採用"約束類型_約束欄位"這樣的形式。
Code:
---添加主鍵約束
Alter Table stuInfo
Add Constraint PK_stuNO primary Key(stuNo)
---添加唯一約束
Alter Table stuInfo
Add Constraint UQ_stuID unique(stuID)
---添加默認約束
Alter Table stuInfo
Add Constraint DF_stuAddress default('地址不詳') for stuAddress
---添加檢查約束
Alter Table stuInfo
Add Constraint CK_stuAge check(stuAge between 15 and 40)
---添加外鍵約束
Alter Table stuMarks
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)
二、刪除約束
如果錯誤的添加了約束,則可以刪除約束
刪除約束的語法如下:
Code:
Alter Table 表名
Drop Constraint 約束名
附加:在創建表的時候同時添加約束的寫法:
Code:
use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不詳')
,stuAge int not null check(stuAge between 15 and 40)
)
C. 關於SQL Server中限制值的范圍的問題。
簡單的范圍可以使用check約束
使用的是sql
server
2008簡單說一下從sql
server
management
studio
中創建check,右擊表格---選擇設計----右擊要進行限制的列----選擇check約束----在表達式中輸入限制條件,例如,id>10,修改一下名字,關閉就可以了;
還可以用命令創建,用命令創建check約束分為,創建表時候建立約束和創建表之後建立約束,可查看相關書籍資料,有詳細描述。
p.s.
check約束是通過check約束中的表達式確定有效值,不是基於其它表格獲取有效值
D. 用sql語句如何更改 檢查約束
TABLE 是表的名字 [CK_TABLE] 是約束的名字
alter table TABLE drop constraint [CK_TABLE]
alter table TABLE add constraint [CK_TABLE] check([d] in (1,2))
E. 在 SQL server中怎樣設置成績表中成績欄位的檢查約束值為0到100之間,用邏輯表達式來表示
CHECK(成績>=0 AND 成績<=100)
F. SQL 檢查約束
身份證號應該是15位或者18位,而不是你所說的17位,約束已經給你建好,我已經測試通過,下面是創建代碼:
alter table 表 add constraint ck_sfzid check (sfzid like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][01234567899X]' or sfzid like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
G. SQL2005怎麼設置約束值的范圍。
CREATE TABLE Table_1
(
studentnum char(9),
courseID int,
DailyGrade decimal(5, 1) CHECK (DailyGrade>=0 AND DailyGrade<=20),
PracticeGrade decimal(5, 1)CHECK (PracticeGrade>=0 AND PracticeGrade<=30),
TestGrade decimal(5, 1) CHECK (TestGrade>=0 AND TestGrade<=50),
Grade decimal(5, 1),
CONSTRAINT pk_table_1 PRIMARY KEY CLUSTERED
(studentnum,
courseID)
)
go
後面總評就不會了 還沒學到那
H. SQL server語句所有的約束條件
1、主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。
2、唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。
3、檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。
4、默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。
5、外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。
(8)sql設置檢查約束范圍擴展閱讀:
對於存在外鍵約束的表,如果進行刪除非空的外鍵,可能會出現錯誤。 如果在 FOREIGN KEY 約束的列中輸入非 NULL 值,則此值必須在被引用的列中存在,否則將返回違反外鍵約束的錯誤信息。
列級 FOREIGN KEY 約束的 REFERENCES 子句僅能列出一個引用列,且該列必須與定義約束的列具有相同的數據類型。表級 FOREIGN KEY 約束的 REFERENCES 子句中引用列的數目必須與約束列列表中的列數相同。每個引用列的數據類型也必須與列表中相應列的數據類型相同。
I. 用sql語句建表和設置約束
val c = a.par.aggregate(5)(_+_,_+_)
def apply(i: Int): T
同下面代碼,取出指定索引處的元素
val first = numbers(0) // 讀取第一個元素
J. 在 SQL server中怎樣設置成績表中成績欄位的檢查約束值為0到100之間
CHECK(成績>=0 AND 成績<=100)