数据库check约束如何写
在数据库中,可以使用CHECK约束来限制列中的值。CHECK约束定义了一些条件,当插入或更新行时必须满足这些条件。
CHECK约束的语法如下:
CREATETABLEtable_name(column_namedata_typeCONSTRAINTconstraint_nameCHECK(condition)
);
其中,table_name
是表名,column_name
是列名,data_type
是列的数据类型,constraint_name
是约束的名称,condition
是满足约束的条件。
下面是一些示例:
限制列中的值必须大于0:
CREATETABLEemployees(idINT,
salaryDECIMALCONSTRAINTcheck_salaryCHECK(salary>0)
);
限制列中的值必须在指定的范围内:
CREATETABLEstudents(idINT,
ageINTCONSTRAINTcheck_ageCHECK(age>=18ANDage<=25)
);
限制列中的值必须满足某些正则表达式:
CREATETABLEemails(idINT,
emailVARCHAR(255)CONSTRAINTcheck_emailCHECK(email~*'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$')
);
限制列中的值必须满足其他列之间的关系:
CREATETABLEorders(idINT,
total_amountDECIMAL,
discountDECIMALCONSTRAINTcheck_discountCHECK(discount>=0ANDdiscount<=total_amount)
);
以上是一些常见的CHECK约束的示例,你可以根据具体的需求自定义更多的约束条件。
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。