首先在我的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. WPF获得全局窗体句柄,并响应全局键盘事件

    场景 wpf窗体运行后,只能捕获当前Active窗体的按键事件,如果要监听windows全局事件,并对当前窗口事件响应. 第一步:导入Winows API public class Win32 { [ ...

  2. HDU 5182

    #include <iostream> #include <algorithm> #include <cstring> using namespace std; / ...

  3. Towers CodeForces - 229D

    The city of D consists of n towers, built consecutively on a straight line. The height of the tower ...

  4. ZOJ 3777-Problem Arrangement(状压DP)

    B - Problem Arrangement Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %l ...

  5. 关于01背包求第k优解

    引用:http://szy961124.blog.163.com/blog/static/132346674201092775320970/ 求次优解.第K优解 对于求次优解.第K优解类的问题,如果相 ...

  6. CREATE DATABASE RoomReservation

    要从我的模型开始构建我的RoomReservation数据库对象,我将创建表对象. 要在SQL Server中创建表,我需要使用CREATE TABLE语句. 使用CREATE TABLE语句,我将能 ...

  7. Android 开发笔记___switch__开关

    default switch <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

  8. 为JS内置对象添加常用方法

    1.字符串全部替换: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm ...

  9. javaOOP-基础知识

    面向对象基础 一.类的定义 访问修饰符  class 类名{ 类成员列表 } 访问修饰符:public和package(默认) package表示一个包中可以访问,是java默认的访问修饰符,pack ...

  10. 利用Pycharm本地调试spark-streaming(包含kafka和zookeeper等操作)

    环境准备就不说了! 第一步:打开Pycharm,在File->Setting->Project Structure中点击Add Content Root 添加本地python调用java和 ...