SQL中的约束:这意味着什么常见的限制
你对学习约束感兴趣吗?您正在摸索SQL 101吗?想知道编程需要什么吗?现在是时候理解SQL的基本含义,以及它如何帮助您在编程时完成想要完成的任务。在这个SQL Server培训您可以学到的不仅仅是约束条件是什么!
首先,让我们确切地了解SQL是什么。SQL代表结构化查询语言换句话说,它是一种与数据库通信的专业编程语言。SQL是用于创建或管理数据库的语言,并指定内部保存的所有数据。SQL语句用于执行数据库上的更新数据等任务,或从数据库中检索数据。
SQL语句可能是这样的:
select "column1" [,"column2",etc] from "tablename" [where "条件"];[] =可选
一系列语句将告诉数据库做什么以及如何操作。现在我们需要包含约束条件。约束是对表的数据列实施的规则。我们使用约束来限制可以进入表中的数据类型。这有助于确保数据库中数据的准确性和可靠性,这当然是非常重要的。觉得这些东西真的很有趣?了解所有关于SQL 6天!
约束命令可能看起来像这样:
ALTER表员工删除约束员工_PK;
可以为列或表级写入约束。这基本上意味着列级约束仅应用于一列,表级约束是,您猜到了它,应用于整个表。这为您提供了管理数据库的最终灵活性。
共同的约束
让我们访问一些常用的约束,这样您就可以了解使用这些类型的命令到底可以完成什么。
默认约束
当没有指定列时,此约束证明列的默认值。如果你试图插入系统值,你可能会使用这样的命令:
创建表订单(O_ID int not null,Orderno int not null,p-id int,orderdate日期默认getdate())
您设置的默认值将添加到您所做的所有新记录中,只要没有设置其他值即可。
唯一约束
此约束命令将确保列中的所有值都不同。所以,没有重复。可以在表上定义多个唯一约束。例如:
CREATE TABLE table_name (columnn1 datatype null/not null, columnn1 datatype null/not null, CONSTRAINT CONSTRAINT t_name UNIQUE(columnn1, columnn2,。)column_n));
非空约束
此约束确保无论如何,列都不能有空值。默认情况下,列可以保存空值。下面是在修改现有表规则时使用NOT NULL的示例。请注意,一个非空值不等于没有数据,只是意味着数据值是未知的。
ALTER TABLE CUSTOMERS MODIFY SALARY DECIMAL (18,2) NOT NULL;
主键(PK)
主键将唯一地标识数据库表中的每一行或记录。这个键对关系数据库非常重要。如果没有它,就无法创建惟一的行标识符。确保你不会丢掉主键。如果这样做,就会有丢失重要数据或导致数据损坏的风险。输入主键的示例如下:
if (PRIMARY KEY = >, PRIMARY KEY = >) if (PRIMARY KEY = >, PRIMARY KEY = >, PRIMARY KEY = >)
使用主键列名填写“主键列”。
外钥匙(FK)
当需要唯一标识另一个数据库表中的行或记录时,可以使用外键。因此,外键,外数据库。外键指向另一个表中的主键。外键的主要功能是为您交叉引用表。当“Orders”表在MySQL中创建时,下面的SQL语句会在“P_Id”列上创建一个外键:
创建表订单(O_ID INT NOULL,ORDERNO INT NOT NULL,P_ID int,主键(O_ID),外键(P_ID)引用人员(P_ID))
要更改已在MySQL,SQL Server,Oracle或MS访问中创建的表使用以下SQL:
ALTER表订单添加外键(P_ID)参考人员(P_ID)
检查约束
Check约束确保列中的所有值满足某些条件。这是您的支票和余额系统。如果为列设置值范围,则Check Constraint将确保这是该列中唯一的值范围。如果在表上定义检查约束,则可以根据行中的其他列中的值限制某些列中的值。
以下是在创建表时编写Check Constraint命令的示例:
创建表Persons (P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CHECK (P_Id>0))
指数
这是伟大的命令。您可以使用它使用它来创建和检索数据库的数据。在定义索引约束时,将在排除数据之前将ROWID分配给每行。要创建索引约束创建表命令,请执行以下操作:
创建表客户(ID int not null,name varchar(20)不是null,年龄int not null,地址char(25)不是null,薪水十进制(18,2),主键(ID));
现在,您可以在多个列上创建索引:
CREATE INDEX ON table_name (column1, column2,…)
丢弃限制
您已定义的任何约束都可以使用DROP约束选项使用ALTER TABLE命令删除。
例如,要删除用户表中的主键约束,可以使用此命令:
ALTER TABLE USERS DROP CONSTRAINT
现在,您对一些常见的约束是如何使用的,以及它们如何帮助您定制数据库有了大致的了解。当使用CREATE table语句创建表时,可以指定约束,也可以使用ALTER table语句在已经创建的表中创建或编辑表约束。
要了解更多关于使用MySQL, Oracle, MS Access或SQL Server的SQL,请花几分钟来检查SQL数据库培训。