當前位置:首頁 » 編程語言 » constraintchecksql

constraintchecksql

發布時間: 2023-12-29 23:38:08

1. 在資料庫sql)中要check 約束一個密碼的長度表達式怎麼寫的

資料庫中約束一個密碼的長度分兩種情況,一種是表還未建,在建立過程中約束;另一種是表已存在,在此基礎上約束。

工具:sqlserver 2008 R2

第一種情況(創建表過程中創建約束):

1、語句如下:

createtable[user]
(idint,
pwdvarchar(20)check(len(pwd)between6and20),--代表密碼長度最短為6,最長為20
namevarchar(20));

2、創建後,可用長度短於6位的密碼,長度在6-20位之間的密碼,長度大於20位的密碼分別驗證。

密碼短於6位(報錯):

2. SQL server語句所有的約束條件

1、主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。

2、唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。

3、檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。

4、默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。

5、外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。

(2)constraintchecksql擴展閱讀:

對於存在外鍵約束的表,如果進行刪除非空的外鍵,可能會出現錯誤。 如果在 FOREIGN KEY 約束的列中輸入非 NULL 值,則此值必須在被引用的列中存在,否則將返回違反外鍵約束的錯誤信息。

列級 FOREIGN KEY 約束的 REFERENCES 子句僅能列出一個引用列,且該列必須與定義約束的列具有相同的數據類型。表級 FOREIGN KEY 約束的 REFERENCES 子句中引用列的數目必須與約束列列表中的列數相同。每個引用列的數據類型也必須與列表中相應列的數據類型相同。

3. SQL創建CHECK約束

現在要說的是在列這一層次過濾的基於表定義之前就規范好的 CHECK 約束。(MySQL 版本 >= 8.0.16)

  • mysql> create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0));

  • Query OK, 0 rows affected (0.03 sec)

  • mysql> create table f2 (r1 int constraint tb_f2_r1_chk1 check (mod(r1,3)=0) not enforced);

  • Query OK, 0 rows affected (0.02 sec)

  • 這里 CHECK 約束的相關限制如下:

    1. constraint 名字在每碰物散個資料庫中唯一。

    也就是說單個資料庫里不存在相同的兩個 constraint,如果不定義,系統自動生成一個唯一的約束名字。

    2. check 約束針對語句 insert/update/replace/load data/load xml 生效;針對對應的 ignore 語句失效。

    3. 並非每笑氏個函數都可以使用,比如函數結果不確定的:NOW(),CONNECTION_ID(),CURRENT_USER()。

    4. 不適用於存儲過程和存儲函數。

    5. 系統變數不適用。

    6. 子查螞衫詢不適用。

    7. 外鍵動作(比如 ON UPDATE, ON DELETE) 不適用。

    8. enforced 默認啟用,如果單獨加上 not enforced ,check 約束失效。

4. SQL中的check約束

alter table Face alter columns ttype varchar(4)
--改變數據類型為可變普通字元串型
alter table Face add constraint MyCheck check(ttype in('帥哥','靚女'))

5. 如何在SQL表中的性別進行check約束

1、下面打開SQL SERVER查看一下要操作的表的數據結構。

6. sql資料庫中的約束語句的格式

一般來說,
約束語句的格式
就是
在欄位後加
CONSTRAINT
約束名
約束
下面是一個例子,一個是非空約束,一個是
CHECK約束。
1>
CREATE
TABLE
test_create_tab4
(
2>
id
INT
PRIMARY
KEY,
3>
val
VARCHAR(10)
4>
CONSTRAINT
test_tab4_val_nn
NOT
NULL,
5>
val2
INT,
6>
CONSTRAINT
test_tab4_val2_100
CHECK(val2
>=
0
AND
val2
<=
100)
7>
);
8>
go
1>
INSERT
INTO
test_create_tab4(id,
val2)
VALUES(1,
100);
2>
GO
消息
515,級別
16,狀態
2,伺服器
HOME-BED592453C\SQLEXPRESS,第
1

不能將值
NULL
插入列
'val',表
'Stock.dbo.test_create_tab4';列不允許有空值。INS
ERT
失敗。
語句已終止。
1>
INSERT
INTO
test_create_tab4(id,
val,
val2)
VALUES(1,
'ERR',
1024);
2>
GO
消息
547,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1

INSERT
語句與
CHECK
約束"test_tab4_val2_100"沖突。該沖突發生於資料庫"Stock",表"
dbo.test_create_tab4",
column
'val2'。
語句已終止。

7. 如何用SQL語句刪除check約束

1、創建測試表,帶主鍵約束;

create table student2

(Sno char(9) primary key,

Sname char(8) not null,

Ssex char(2) check(Ssex in ('男','女')),

Sage smallint,

Sdept char(20)

)

8. 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

(8)constraintchecksql擴展閱讀

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)

熱點內容
yy靜態頭像源碼 發布:2024-11-30 08:30:21 瀏覽:680
javaparseint 發布:2024-11-30 08:23:12 瀏覽:909
抖音密碼箱保險在哪裡 發布:2024-11-30 08:10:43 瀏覽:998
廣告文學腳本格式 發布:2024-11-30 08:09:57 瀏覽:634
期末到了解壓的方法 發布:2024-11-30 07:53:49 瀏覽:865
sqlce資料庫 發布:2024-11-30 07:41:21 瀏覽:726
奇瑞5x配置如何 發布:2024-11-30 07:39:50 瀏覽:642
魔域資料庫修改 發布:2024-11-30 07:37:10 瀏覽:131
c語言開發者 發布:2024-11-30 07:30:34 瀏覽:388
西門子觸摸屏字體無法編譯 發布:2024-11-30 07:26:13 瀏覽:302