zoukankan      html  css  js  c++  java
  • 数据库更新Sql脚本总结

    表复制

    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' 
    

     

    作者:Crazy Ma
    出处:http://www.cnblogs.com/intcry
    ♪:30%的技术+70%的精神,帮助别人得到他想要的,你就能得到你想要的! ♪

  • 相关阅读:
    May 1 2017 Week 18 Monday
    April 30 2017 Week 18 Sunday
    April 29 2017 Week 17 Saturday
    April 28 2017 Week 17 Friday
    April 27 2017 Week 17 Thursday
    April 26 2017 Week 17 Wednesday
    【2017-07-04】Qt信号与槽深入理解之一:信号与槽的连接方式
    April 25 2017 Week 17 Tuesday
    April 24 2017 Week 17 Monday
    为什么丑陋的UI界面却能创造良好的用户体验?
  • 原文地址:https://www.cnblogs.com/intcry/p/2056455.html
Copyright © 2011-2022 走看看