在SQL中如何删除表中的unique属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL中如何删除表中的unique属性相关的知识,希望对你有一定的参考价值。

alter table student drop unique(sname)
上述语句为什么不能删除表student中的sname列的unique属性。

参考技术A 尝试?

如果, SNAME 是primary key, 你不该改变它的unique属性.
如果, 有另外的primary key, alter 是用来删除或增加列数据的. 最简单的办法是, 做一个index, 省略'unique'关键字.
参考技术B alter table student drop constraint 约束名本回答被提问者采纳

sql怎么删除一个表中的所有数据

参考技术A

删除表数据有两种方法:delete和truncate。具体语句如下:

一、RUNCATE TABLE name  :

删除表中的所有行,而不记录单个行删除操作。 在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。 

TRUNCATE TABLE 的语法:TRUNCATE TABLE name ,参数 name 是要截断的表的名称或要删除其全部行的表的名称。 

二、Delete from tablename where 1=1

1、delete语法:

DELETE FROM 表名称 WHERE 列名称 = 值。

2、删除所有行:

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETE FROM table_name。

扩展资料:

truncate和delete的共同点及区别:

1、 truncate和 delete只删除数据不删除表的结构(定义) 。

2、delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。

truncate是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger。

3、delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 。truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始)。

4、速度,一般来说: truncate >delete 。

参考资料:

百度百科--Truncate Table

百度百科--DELETE语句

以上是关于在SQL中如何删除表中的unique属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL Server 中的表中删除重复行 [重复]

数据类型之属性

sql中如何删除一个表中重复的记录?

如何在从多个表中获取多行的同时删除 sql JOIN 中的重复项

SQL CE中如何删除表中的所有数据?

sqlserver 删除索引时遇到的问题,请高手指教!!!