数据库更新Sqlserver脚本总结

表复制:

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'

时间: 2024-09-24 14:05:48

数据库更新Sqlserver脚本总结的相关文章

数据库更新Sqlserver脚本总结_MsSql

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

sqlserver-winform实现程序启动的时候生成临时表,当窗口关闭的时候销毁临时表,数据库为SQLSERVER

问题描述 winform实现程序启动的时候生成临时表,当窗口关闭的时候销毁临时表,数据库为SQLSERVER C# winform实现程序启动的时候生成临时表,当窗口关闭的时候销毁临时表,数据库为SQLSERVER 我想实现以下功能,当winform启动的时候生成几张临时表,期间会有其他的线程访问这些临时表的数据,当winform退出的时候销毁这些临时表. 我现在是在程序启动的时候创建了一个静态的SqlConnection对象并且打开这个会话,当需要创建临时表的时候,就将这个SqlConnect

分享一个SQLSERVER脚本

原文:分享一个SQLSERVER脚本 分享一个SQLSERVER脚本 很多时候我们都需要计算数据库中各个表的数据量很每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(50) , rowsinfo BIGINT , reserved VARCHAR(20) , datainfo VARCHAR(20) , index_size VARCHAR(20) , unused VARCHAR(20) ) DECLARE @

从SQL Server数据库转到Oracle数据库的数据脚本处理

在我们很多情况下的开发,为了方便或者通用性的考虑,都首先考虑SQL Server数据库进行开发,但有时候客户的生产环境是Oracle或者其他数据库,那么我们就需要把对应的数据结构和数据脚本转换为对应的数据库,数据结构一般来说,语法都遵循了SQL92的标准,或者我们根据不同的PowerDesigner文件进行生成对应的结构脚本即可,但是实际数据的脚本我们就需要进行一定的处理,以及文本的替换处理了,本文结合Notepad++的文本正则表达式替换,实现一些如日期较为特殊的数据脚本调整,把它从SQL S

app-手机本地数据库更新问题

问题描述 手机本地数据库更新问题 求问,做一个手机app,网站向手机传数据,数据需更新,给我个提示我在决定是否更新,采用什么方法做这个. 解决方案 iOS app更新数据库数据迁移问题关于数据库view更新的问题从数据库丢失更新想到的一些问题

手工创建数据库的全部脚本及其说明

创建|脚本|数据|数据库 手工创建数据库的全部脚本及其说明 手工创建数据库的全部脚本及说明 系统环境: 1.操作系统:Windows 2000 Server,机器内存128M 2.数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3.安装路径:D:\ORACLE 建库步骤: 1.手工创建相关目录 D:\Oracle\admin\test D:\Oracle\admin\test\adhoc D:\Oracle\admin\test\bdump D:\Oracle\admi

手工创建数据库的全部脚本及说明

创建|脚本|数据|数据库  手工创建数据库的全部脚本及说明 系统环境:  1.操作系统:Windows 2000 Server,机器内存128M 2.数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3.安装路径:D:\ORACLE 建库步骤:  1.手工创建相关目录 D:\Oracle\admin\test D:\Oracle\admin\test\adhoc D:\Oracle\admin\test\bdump D:\Oracle\admin\test\cdump D

Oracle 数据库复制常用脚本

oracle|脚本|数据|数据库 Oracle 数据库复制常用脚本(石骁騑 2001年07月30日 17:30) Oracle的数据复制是一个Oracle数据库产品中比较成熟的一项技术,它是整个分布式计算解决方案的一个重要组成部分.对于具有复制环境的数据库系统,和Oracle DBA一样,同样要有一个人来专门负责维护Oracle的数据复制问题,称之为Oracle Replication Administrator(Oracle复制管理员).本文就Oracle数据复制中复制管理员经常关心的一些关于

SQL SERVER2008数据库远程生成脚本问题

问题描述 SQL SERVER2008数据库远程生成脚本问题 我在本机登录远程数据库后生成脚本完成后,远程数据库就登不上了,请问会不会对远程数据库有影响啊?急急急 解决方案 你生成了什么脚本,改变了哪些sql server的设置.如果仅仅是数据库查询,是不会影响登录的.但是你删除了账户甚至停止了sql服务,那就没法登录了. 解决方案二: 如何将数据库sql server2008中的数据库生成脚本输出SQL Server2008 自动生成数据库脚本关于连接SQL Server2008数据库是连接字