SQL Server 数据库更新脚本用法

前端之家收集整理的这篇文章主要介绍了SQL Server 数据库更新脚本用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

表复制:
1. INSERT INTO SELECT语句
 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
 示例如下:

代码如下:

 
--创建测试表 
create TABLE Users1 
( 
UserID int identity (1,1) primary key not null,UserName varchar(10),UserAddress varchar(20) 
) 
GO 
create TABLE Users2 
( 
ID int identity (1,Name varchar(10),Address varchar(20) 
) 
GO 
--创建测试数据 
Insert into Users1 values('赵','asds') 
Insert into Users1 values('钱','asds') 
Insert into Users1 values('孙','asds') 
Insert into Users1 values('李','asds') 
GO 
select * from Users2 
--INSERT INTO SELECT语句复制表数据 
Insert into Users2(Name,Address) select UserName,UserAddress from Users1 
GO 
--显示更新后的结果 
select * from Users2 
GO 
--删除测试表 
drop TABLE Users1 
drop TABLE Users2 

2. SELECT INTO FROM语句
语句形式为:SELECT vale1,value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2
示例如下:

代码如下:

 
--创建测试表 
create TABLE Users1 
( 
UserID int identity (1,UserAddress varchar(20) 
) 
GO 
--创建测试数据 
Insert into Users1 values('赵','asds') 
GO 
--SELECT INTO FROM语句创建表Users2并复制数据 
select UserName,UserAddress INTO Users2 from Users1 
GO 
--显示更新前后的结果 
select * from Users1 
select * from Users2 
GO 
--删除测试表 
drop TABLE Users1 
drop TABLE Users2 

表更改:
3.ALTER TABLE 语句
 ALTER TABLE 语句用于在已有的表中添加修改删除列。
 语句形式为:

代码如下:

 
在表中添加列 : 
ALTER TABLE table_name 
ADD column_name datatype 
删除表中的列 
ALTER TABLE table_name 
DROP COLUMN column_name 
改变表中列的数据类型 
ALTER TABLE table_name 
ALTER COLUMN column_name datatype 

示例如下:

代码如下:

 
--创建测试表 
create TABLE Users 
( 
UserID int identity (1,UserAddress varchar(20) 
) 
GO 
--在Users表中添加一个名为 "Birthday" 的新列 数据类型为datetime 
ALTER TABLE Users ADD Birthday datetime 
GO 
--在Users表中把 "Birthday" 列的数据类型改为nvarchar(20) 
ALTER TABLE Users ALTER COLUMN Birthday nvarchar(20) 
GO 
--删除 "Person" 表中的 "Birthday" 列: 
ALTER TABLE Users DROP COLUMN Birthday 
GO 
--删除测试表 
drop TABLE Users 

使用Sp_rename 存储过程[sqlCE不支持]
 Sp_rename 存储过程可以修改当前数据库用户对象的名称,如表、列、索引、存储过程等待。但在sqlCe下面测试只能改表名
 语法如下:
 Sp_rename[@objname=]'object_name',
  [@newname=]'new_name'
  [,[@objtype=]'object_type']
 其中[@objtype=]'object_type'是要改名的对象的类型,其值可以为
  'Column' 列
  'Database' 数据库
  'Index' 索引
  'Userdatatype'用户自定义类型
  'Object' 对象
 值'Object'指代了系统表sysobjects中所有对象,如表、视图、存储过程、触发器、规则、约束等。'object'值为默认值。
 示例如下:

代码如下:

 
例1:更改orders表的列p_id 名称为 products_id 
exec sp_rename 'orders.[p_id]','product_id','column' 
例2: 更改orders表的名称为p_orders 
exec sp_rename 'orders','p_orders' 

猜你在找的MsSQL相关文章