{"id":12204,"date":"2024-03-14T15:22:03","date_gmt":"2024-03-14T15:22:03","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/"},"modified":"2025-08-04T22:44:39","modified_gmt":"2025-08-04T22:44:39","slug":"detailed-explanation-of-the-check-constraint-in-sql","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/","title":{"rendered":"SQL CHECK Constraint: Complete Guide"},"content":{"rendered":"<p>In SQL, the CHECK constraint is used to restrict the range of values in a column of a table. It can be used to validate the validity of specific conditions when inserting or updating data.<\/p>\n<p>The CHECK constraint consists of the following components:<\/p>\n<ol>\n<li>Column name: The name of the column specifying the constraints for the application.<\/li>\n<li>Operators: Comparison operators used to define constraint conditions, such as equal to (=), less than (<), greater than (>).<\/li>\n<li>Value: A constant value, expression, or subquery used for comparison with column values.<\/li>\n<li>Constraint name (optional): Define a name for the constraint, which can be referenced when needing to delete or modify the constraint.<\/li>\n<\/ol>\n<p>Here is an example of using a CHECK constraint when creating a table:<\/p>\n<pre class=\"post-pre\"><code>CREATE TABLE employees (\r\n    id INT,\r\n    name VARCHAR(50),\r\n    age INT,\r\n    salary DECIMAL(10, 2),\r\n    CONSTRAINT chk_age CHECK (age &gt;= 18)\r\n);\r\n<\/code><\/pre>\n<p>In the example above, a table named employees has been created with columns for id, name, age, and salary. A CHECK constraint has been defined on the age column to require that the value must be greater than or equal to 18.<\/p>\n<p>When inserting or updating data in the table, check if the constraints are met. If the constraints are not satisfied, an error will be returned and the insertion or update operation will be rejected.<\/p>\n<p>Here is an example of a violation of a CHECK constraint when inserting data:<\/p>\n<pre class=\"post-pre\"><code>INSERT INTO employees (id, name, age, salary) VALUES (1, 'John', 16, 5000);\r\n<\/code><\/pre>\n<p>An error will be returned due to the inserted age value of 16 violating the conditions of the CHECK constraint.<\/p>\n<p>You can modify the constraints of an existing table using CHECK constraints in the ALTER TABLE statement. For example, you can change the CHECK constraint of the &#8216;age&#8217; column in the table to age >= 21 with the following statement.<\/p>\n<pre class=\"post-pre\"><code>ALTER TABLE employees\r\nDROP CONSTRAINT chk_age,\r\nADD CONSTRAINT chk_age CHECK (age &gt;= 21);\r\n<\/code><\/pre>\n<p>The detailed explanation and usage of CHECK constraints in SQL can be seen in the example above. It is an effective tool for restricting the range of values in a column, ensuring data integrity and consistency.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In SQL, the CHECK constraint is used to restrict the range of values in a column of a table. It can be used to validate the validity of specific conditions when inserting or updating data. The CHECK constraint consists of the following components: Column name: The name of the column specifying the constraints for the [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[4844,10110,1935,125,3151],"class_list":["post-12204","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-check-constraint","tag-data-validation","tag-database-design","tag-sql","tag-sql-constraints"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL CHECK Constraint: Complete Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL CHECK Constraint: Complete Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T15:22:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T22:44:39+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"SQL CHECK Constraint: Complete Guide\",\"datePublished\":\"2024-03-14T15:22:03+00:00\",\"dateModified\":\"2025-08-04T22:44:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\"},\"wordCount\":304,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"check constraint\",\"data validation\",\"Database Design\",\"SQL\",\"SQL constraints\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\",\"name\":\"SQL CHECK Constraint: Complete Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T15:22:03+00:00\",\"dateModified\":\"2025-08-04T22:44:39+00:00\",\"description\":\"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL CHECK Constraint: Complete Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL CHECK Constraint: Complete Guide - Blog - Silicon Cloud","description":"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/","og_locale":"en_US","og_type":"article","og_title":"SQL CHECK Constraint: Complete Guide","og_description":"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.","og_url":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T15:22:03+00:00","article_modified_time":"2025-08-04T22:44:39+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"SQL CHECK Constraint: Complete Guide","datePublished":"2024-03-14T15:22:03+00:00","dateModified":"2025-08-04T22:44:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/"},"wordCount":304,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["check constraint","data validation","Database Design","SQL","SQL constraints"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/","url":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/","name":"SQL CHECK Constraint: Complete Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T15:22:03+00:00","dateModified":"2025-08-04T22:44:39+00:00","description":"Learn how to use SQL CHECK constraints to validate data, restrict column values, and enforce integrity in databases. Includes examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/detailed-explanation-of-the-check-constraint-in-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL CHECK Constraint: Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=12204"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12204\/revisions"}],"predecessor-version":[{"id":156005,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12204\/revisions\/156005"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=12204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=12204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=12204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}