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