数据库更新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'


猜你喜欢
- 这段时间微信跳一跳这个游戏非常火爆,但是上分又非常的难,对于程序员来说第一个念头就是通过写一个辅助脚本 * 让上分变的容易,python现在比
- 一,什么是mycat一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL
- 在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL
- 全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人。就是与这项技能有关的都会,都能够独立的完成。全栈只是个概念,也分很
- 一、fitz库是什么?Fitz库是一个Python图像处理库,主要用于打开、编辑和保存PDF、TIFF和JPEG格式的图像。它可以帮助用户读
- 查询死锁进程语句select request_session_id spid, OBJECT_NAME(resource_associate
- 在编写 XMLHttpRequest 请求时,需要掌握服务器端返回的内容。针对 Firefox 浏览器,我们常用的 Firebug 就能非常
- 1、涉及到图的对比会用到子图形式展示,先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- 1.之前的写法(不报错):data = cursor.fetchall()data_name = data[0]['task_typ
- 前言我们在开发后台项目常常会遇到一个情况,功能模块列表数据导出Excel功能,但列表中某个字段无法通过Sql联表查询,且一次性查询再匹对也不
- 理解property和attribute这个要看具体的语境了。不过我们可以从词源的角度来区分一下这两者:property形容词propert
- 1、找到python的安装目录在python (版本号)\lib\idlelib目录下添加Clearwindow.py文件源代码如下:cla
- 现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新这次怀着愧疚的心情,在凌晨四点时,将
- 效果演示开发工具Python版本: 3.6.4相关模块:pygame模块;PyQt5模块;以及一些Python自带的模块。环境搭建安装Pyt
- 背景为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化。自学python以及自动化测试。虽然在2017年已经开始接触了sel
- 开门见山自动化测试过程中,一般测试结果都会以邮件的形式发送给相关人员,那么,在Python中,如何编写代码将邮件发送给对应的用户?同时,发送
- 从我们论坛中收集了这段HTML制作页面需要最大化、最小化时可以借鉴参考。最大化效果:<OBJECT id="max
- 前言之前一直写不出来,这周周日花了一下午终于弄懂了, 顺便放博客里,方便以后忘记了再看看。 要实现的是输入一张 图,起点,终点,输出起点和终
- 问题我使用python 2.7和xlwt模块进行excel导出我想设置我知道可以使用的单元格的背景颜色style1 = xlwt.easyx
- Serilog是.net下的新兴的日志框架,本文这里简单的介绍一下它的用法。首先安装Nuget包:Install-Package Seril