0


SQL Server数据库知识点八

SQL Server标识列

在上面语法中,seed 是表中的第一行的值(第一条记录标识列使用的值)。 increment 是添加到上一行标识值的增量值。
seed 和 increment 的默认值是 1 ,即 (1,1) 。表示加载到表中的第一行的值为: 1 ,第二行的值为:2 (在上一行: 1 的基础上加 1 ),依此类推。
SQL Server允许每个表只有一个标识列。
重用标识值:
SQL Server不能重用标识值。 如果在标识列中插入行并且执行 insert 语句失败或回滚,则标识值将丢失,并且不会再次生成。这会导致标识列中出现空白。
方法一: 使用Truncate
TRUNCATE TABLE name 可以删除表内所有值并重置标识值 ,但是表内的数据将丢失。
方法二:想要重置标识值(不删除数据)采用下面方法即可:
1.DBCC CHECKIDENT (‘表名’, RESEED, new_value)(重置新的标识值,new_value为新值)
2.select IDENT_CURRENT(‘a’) 当前表标识列的最大值
3. select @@IDENTITY 当前标识列的最大值
SQL Server向表添加列:
ALTER TABLE ADD 语句将一个或多个列添加到表中。

在上面语句中:
首先, table_name 指定要添加新列的表的名称。
其次, column_name 指定列的名称, data_type 表示数据类型, column_constraint 表示约束(如果适用)。
SQL Server修改表的列:
修改列的数据类型

新数据类型必须与旧数据类型兼容,否则,如果列具有数据且无法转换,则会出现转换错误。
更改列的大小

但是,当减小列的大小时,SQL Server会检查现有数据以查看它是否可以根据新大小转换数据。 如果转换失败,SQL Server将终止该语句并发出错误消息。

SQL Server删除表:
DROP TABLE 语句从数据库中删除一个或多个表。

在上面语法中,首先, database_name 指定要删除的表的名称。
其次,指定创建表的数据库的名称以及表所属的模式的名称。数据库名称是可选的。 如果不指
定, DROP TABLE 语句将删除当前数据库中的表。
第三,使用 IF EXISTS 子句仅在表存在时才删除表。 自SQL Server 2016 13.x起,支持 IF EXISTS 子句。 如果删除不存在的表,则会出现错误。 如果表已经存在,则 IF EXISTS 子句有条
件地删除该表。
当SQL Server删除表时,它还会删除该表的所有数据,触发器,约束和权限。 此外,SQL Server不会显式删除引用已删除表的视图和存储过程。 要显式删除这些对象,必须使用 DROP VIEW 和 DROP PROCEDURE 语句。
SQL Server允许使用单个 DROP TABLE 语句来一次删除多个表。

标签: 数据库

本文转载自: https://blog.csdn.net/weixin_49982989/article/details/123689112
版权归原作者 weixin_49982989 所有, 如有侵权,请联系我们删除。

“SQL Server数据库知识点八”的评论:

还没有评论