数据库更新Sqlserver脚本总结

(编辑:jimmy 日期: 2024/12/24 浏览:2)

表复制:
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'

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?