数据库更新Sql脚本总结

表复制

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,1) primary key not null,

    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,1) primary key not null,

    UserName varchar(10),

    UserAddress 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 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,1) primary key not null,

    UserName varchar(10),

    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'

 

 

作者:Crazy Ma
出处:http://blog.csdn.net/intcry
♪:30%的技术+70%的精神,帮助别人得到他想要的,你就能得到你想要的! ♪

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值