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%的精神,帮助别人得到他想要的,你就能得到你想要的! ♪

  • 相关阅读:
    Laravel 5.2 使用 JWT 完成多用户认证 | Laravel China 社区
    (上线时清缓存)laravel 5.1 的程序性能优化(配置文件)
    linux计划任务及压缩归档
    用户及用户管理
    vim编辑器
    linux进阶命令
    权限管理
    linux基础命令2
    linu基础命令1
    连接Xshell
  • 原文地址:https://www.cnblogs.com/intcry/p/2056455.html
Copyright © 2011-2022 走看看