当前位置: 移动技术网 > IT编程>数据库>MSSQL > 数据库更新Sqlserver脚本总结

数据库更新Sqlserver脚本总结

2017年12月12日  | 移动技术网IT编程  | 我要评论

李佳颖身高,异界封神录,盖网通

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网