首先在我的Student表中插入几条数据,由于我的表已经创建完成了,所以就没有创建表的 sql 语句了,不过可以看我的上一篇文章:

http://www.cnblogs.com/Brambling/p/6649350.html

插入数据sql语句:

  insert into Student(S_StuNo,S_Name,S_Sex,S_Height)
select '','项羽','男','' union
select '','刘邦','男','' union
select '','貂蝉','女','' union
select '','天明','男','' union
select '','少司命','女',''

当然,也可以像下面这样写,不过我个人习惯用上面这种方法。

   insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('','项羽','男','')
insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('','刘邦','男','')
insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('','貂蝉','女','')
insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('','天明','男','')
insert into Student(S_StuNo,S_Name,S_Sex,S_Height) values ('','少司命','女','')

SQL Server语句把一个表的数据插入到另一个表,有以下两种方法:

第一种,当要插入的表(Student_back)不存在时

  --把表 Student 中性别为 '男' 的学生信息 插入到表 Student_back(不存在) 中
select * into Student_back from Student where S_Sex='男'

未指定具体列,就会自动创建一个跟(Student)一样的表并把数据插入

指定具体要插入的列就会根据指定的列创建一个表,并把数据插入

第二种,当要插入的表本身便存在时

 --把表 Student 中性别为 '女' 的学生信息 插入到表 Student_back(存在)中
insert into Student_back(S_StuNo,S_Name,S_Sex,S_Height)
select S_StuNo,S_Name,S_Sex,S_Height from Student
where S_Sex='女'

因为字段 S_Id 是标识列,不能有显示插入的值,所以这里必须指定要插入的列。

前面说了创建表的sql语句,下面说说删除表的sql语句:

确切的说删除表的方式有 drop:

 drop table Student_back

这样就删除表了,这样的删除不仅会删除表中的数据,还包括表结构、字段、视图、索引、触发器和依赖的约束等等。此方法慎用!!!

truncate:

 truncate table Student_back

这样只是删除表中的所有数据,会保留表结构、字段、约束、索引等等,但是不能加 where 条件限制。

如果表存在 FOREIGN   KEY (外键约束),则不能使用此方法,应使用不带 where 条件的 delete 语句,但 truncate 语句比 delete 语句执行要快。

delete:

 delete from Student_back where S_StuNo=''

这样的删除同样是删除表中的数据,并且可以添加 where 条件限制,还可以激活 trigger (触发器)。

SQL Server插入数据和删除数据的更多相关文章

  1. 本地数据库(sql server)插入一条新数据时,同步到服务器数据库

    之前有个同学问我,本地数据库插入新数据时怎么同步到服务器上,当时我先想到是程序逻辑控制,作相应的处理. 但有时候我们程序不太好处理,那能不能从数据库入手呢,数据库不是有触发器(Trigger)吗,应该 ...

  2. SQL Server 插入、更新和删除数据

    1.主要内容 ● 通过SSMS,插入.更新和删除表数据 ● 通过INSERT语句向表中插入数据 ● 通过UPDATE语句更新表内数据 ● 通过DELETE语句删除表内数据 ● 使用INSERT.UPD ...

  3. 【SQL Server性能优化】删除大量数据的方法比较

    原文:[SQL Server性能优化]删除大量数据的方法比较 如果你要删除表中的大量数据,这个大量一般是指删除大于10%的记录,那么如何删除,效率才会比较高呢? 而如何删除才会对系统的影响相对较小呢? ...

  4. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  5. SQL Server跨库复制表数据错误的解决办法

    SQL Server跨库复制表数据的解决办法   跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Serv ...

  6. 清空SQL Server数据库中所有表数据的方法

    原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...

  7. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  8. 快速查看SQL Server 中各表的数据量以及占用空间大小

    快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(1 ...

  9. 也谈SQL Server 2008 处理隐式数据类型转换在运行计划中的增强 (续)

    在上一篇文章也谈SQL Server 2008 处理隐式数据类型转换在运行计划中的增强中,我提到了隐式数据类型转换添加对于数据分布非常不平均的表.评估的数据行数与实际值有非常大出入的问题,进一步測试之 ...

  10. 使用Sql Server Management Studio 2008将数据导出到Sql文件中

      最近需要将一个Sql Server 2005数据库中的数据导出,为了方便,就希望能导出成Sql文件,里面包含的数据是由Insert 语句组成的. 在Sql Server Management St ...

随机推荐

  1. [译]ASP.NET Core 2.0 路由引擎

    问题 ASP.NET Core 2.0的路由引擎是如何工作的? 答案 创建一个空项目,为Startup类添加MVC服务和请求中间件: public void ConfigureServices(ISe ...

  2. sqoop1.4.6导出oracle实例

    1.导入odbj6.jar到$SQOOP_HOME/lib目录下. 2.sqoop import --append --connect jdbc:oracle:thin:@219.216.110.12 ...

  3. linux学习(七)环境变量、cp、mv、cat,less,more,head,tail

    一.环境变量 环境变量其实就是$PATH: [root@iZ25lzba47vZ ~]# echo $PATH /usr/local/nginx/sbin:/usr/local/php/bin:/us ...

  4. Windows环境下多线程编程原理与应用读书笔记(7)————事件及其应用

    <一>事件 事件主要用于线程间传递消息,通过事件来控制一个线程是处于执行状态还是处于挂起状态. 事件和互斥量之间的差别: 事件主要用于协调两个或者多个线程之间的动作,使其协调一致,符合逻辑 ...

  5. Treasure of the Chimp Island

    Treasure of the Chimp Island Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...

  6. ajax参数解析

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  7. Ajax comet XMLHttpRequest 异步

    function createXHR() { if (typeof XMLHttpRequest != “undefi ned”){      return new XMLHttpRequest(); ...

  8. Minix3信号处理分析

    进程的信号处理的相关结构 PM中存放着所有进程的进程描述符,在一个进程描述符中,有一个指针,指向一个sigaction结构二维数组中的一项,表示这个进程所有信号的操作.一个sigaction结构包含信 ...

  9. whonix官网部分翻译

    Whonix:一个高安全的方式来Surfing the Internet Whonix是一个桌面操作系统,被设计用于高级安全和隐私.It realistically addresses attacks ...

  10. Erlang Concurrent 并发进阶

    写在前面的话 本文来源于官方教程 Erlang -- Concurrent Programming.虽然没有逻辑上的关系,但建议在掌握了Erlang入门系列教程的一些前置知识后继续阅读. 之前我是逐小 ...