作用为:唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。
unique():返回参数数组中所有不同的值,并按照从小到大排序。
return_index=True: 返回新列表中的每个元素在原列表中第一次出现的索引值,因此元素个数与新列表中元素个数一样。
return_inverse=True:返回原列表中的每个元素在新列表中出现的索引值,因此元素个数与原列表中元素个数一样。
扩展资料:
在关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。
定义基本表:
CREATE TABLE([列级完整性约束条件]
[,[列级完整性约束条件]]…
[,[列级完整性约束条件]]
[,表列级完整性约束条件]);
说明:
①中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。
②CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。
作用为:唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。
创建唯一约束可确保在不参与主键的特定列中不输入重复值。当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:
1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。
2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有一行包含空值。
扩展资料:
SQL中其他约束有:
1、主键约束:
主键列的数据类型不限,但此列必须是唯一并且非空。如该表中已有主键为1000的行,则不能再添加主键为1000。人工或程序不好控制的时候,也可以设置主键列为自动增长列。
2、参考约束:
参考约束是一个规则,可由SQL和XQuery 编译器使用,但数据库管理器不会强制执行它。
查询编译器包括一个重写查询阶段,它将SQL和XQuery语句变换为可能是优化的格式并改进所需数据的访问路径。该约束的目的不是由数据库管理器对数据执行附加验证,而是为了提高查询性能。
3、用户自定义完整性约束:
用户自定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
例如某个属性必须取唯一值,某个非主属性也不能取空值,某个属性的取值范围在0-100之间等。
参考资料来源:百度百科-唯一约束
参考资料来源:百度百科-主键约束
参考资料来源:百度百科-SQL数据库
一、从单词来看:这两个词从词义上应该很了区分的.
distinct:
1、清楚,清晰的;明白,明显的
2、截然不同的,有区别的.些是和form连用
unique:
1、独一无二的,惟一的
2、独特的,罕见的
二、从SQL语言来看:
SQL
语句可返回唯一不同的值
A.
UNIQUE是完整性约束里的一种,如果某列的值需要是唯一的那么就添加UNIQUE约束
Distinct是在查询时用的,若在SELECT的列选择列表中的某列说明为Distinct,那么查询出来的结果里,该列不会出现重复的值.
B.
unique是distinct的同义词,功能完全相同。
distinct是标准语法,其他数据库
sql
server,db2,oracle,sybase,mysql等都支持。
unique,informix数据库认识,其他数据库有的认识,有的不认识。
C.
用UNIQUE和DISTINCT查找不重复的行,
语法好像是一样的,结果也是一样的,
他们究竟有什么区别?
别人的回答是:一样的。
总之,效果是一样的,但是还是按照习惯和规章来吧。select
就用distinct。
在SQL语法里面,有unique和distinct两个关键字,unique是distinct的同义词,功能完全相同。
distinct是标准语法,其他数据库 sql
server,db2,oracle,sybase,mysql等都支持。
unique,informix数据库认识,其他数据库有的认识,有的不认识。以后方便数据库移植,推荐使用distinctDistinct|Unique返回select 出来的重复数据的一笔(distinct/unique
可认为互为同义词)重复行数数据必须和select 出来的每一个表达式匹配。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)