数据库更新Sqlserver脚本总结

时间:2024-01-13 15:05:25 

表复制:
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'
标签:数据库更新,Sql
0
投稿

猜你喜欢

  • Python中三元表达式的几种写法介绍

    2022-01-24 20:10:10
  • 10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)

    2021-05-21 05:28:13
  • PHP实现web socket长链接流程详解

    2023-05-27 23:44:39
  • 利用Python实现智能合约的示例详解

    2022-04-06 00:45:23
  • python读取Kafka实例

    2023-10-22 17:22:58
  • SQL Server错误代码大全及解释(留着备用)

    2012-07-11 16:17:03
  • 一文初探Go语言中的reflect反射包

    2024-02-07 01:31:51
  • javascript调试之DOM断点调试法使用技巧分享

    2023-09-24 12:24:18
  • TensorFlow实现模型评估

    2023-10-15 22:36:51
  • Go实现Redis连接池方法

    2024-02-21 09:09:26
  • Python如何优雅获取本机IP方法

    2021-03-07 15:46:16
  • Pytorch上下采样函数之F.interpolate数组采样操作详解

    2022-01-19 08:13:51
  • ElementUI日期选择器时间选择范围限制的实现

    2024-04-09 11:00:28
  • PHP 简单日历实现代码

    2023-07-01 12:00:01
  • 简单了解Python中的几种函数

    2023-09-30 06:11:55
  • python实现代码审查自动回复消息

    2021-09-15 22:20:46
  • 简单谈谈JS中的正则表达式

    2023-07-22 00:50:22
  • Python配置mysql的教程(推荐)

    2024-01-21 00:40:19
  • 使用keras2.0 将Merge层改为函数式

    2021-01-14 08:29:46
  • IE bug: 1像素的dotted/dashed边框

    2009-10-28 18:45:00
  • asp之家 网络编程 m.aspxhome.com