SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)

wanghui1234 2018-05-09 原文

SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML

1、SQL INSERT INTO 语句(在表中插入)

INSERT INTO 语句用于向表中插入新记录。

SQL INSERT INTO 语法

INSERT INTO 语句可以用两种形式编写。
第一个表单没有指定要插入数据的列的名称,只提供要插入的值:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。INSERT INTO语法如下所示:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

演示数据库

以下是”Customers” 表中的数据:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland


INSERT INTO 实例代码

假设我们想在”Customers”表中插入一个新行。

我们可以使用以下SQL语句:

实例

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');

现在,选自 “Customers” 表的数据如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway


仅在指定的列中插入数据

我们还可以只在指定的列中插入数据。

以下SQL语句插入一个新行,但只在“CustomerName”、“City”和“Countryn”列中插入数据(CustomerID字段将自动更新):

实例

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

现在,选自 “Customers” 表的数据如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal null null Stavanger null Norway

2、SQL Delete 语句(删除表中的记录)

DELETE语句用于删除表中现有记录。

SQL DELETE 语句

DELETE 语句用于删除表中的行。

SQL DELETE 语法

DELETE FROM table_name
WHERE condition;

以下是 “Customers” 表中的数据:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

SQL DELETE 实例代码

假设我们想从”Customers” 表中删除客户“Alfreds Futterkiste”。

我们使用以下SQL语句:

实例

DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste';

现在,”Customers” 表如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

删除所有数据

您可以删除表中的所有行,而不需要删除该表。这意味着表的结构、属性和索引将保持不变:

DELETE FROM table_name;

或者

DELETE * FROM table_name;

注意:在没有备份的情况下,删除记录要格外小心!因为你删除了不能重复!

3、SQL UPDATE 语句(更新表中的记录)修改

UPDATE 语句用于更新表中的现有记录。

SQL UPDATE 语句

UPDATE 语句用于更新表中已存在的记录。 

SQL UPDATE 语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

演示数据库

以下是 “Customers” 表中的数据:

CustomerID CustomerName ContactName Address City PostalCode Country
Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


SQL UPDATE 实例

以下SQL语句为第一个客户(CustomerID = 1)更新了“CustomerName”和“City”:

实例

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;

现在,选自 “Customers” 表的数据如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

更新多个记录

WHERE子句决定了将要更新的记录数量。

以下SQL语句将把国家/地区为”Mexico”的所有记录的联系人姓名更新为“Juan”:

UPDATE Customers
SET ContactName='Juan'
WHERE Country='Mexico';

“Customers”表中的选择现在看起来像这样:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Juan Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

 

Update 警告!

更新记录时要小心。如果您省略WHERE子句,所有记录将被更新!

UPDATE Customers
SET ContactName='Juan';

“Customers” 表将如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Juan Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Juan Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Juan 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Juan Berguvsvägen 8 Luleå S-958 22 Sweden

关于查看比较复杂,后面详细再说吧!!!

 

版权声明:本文为wanghui1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wanghui1234/p/9014904.html

SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)的更多相关文章

  1. 更新版PowerBI发布了– Power BI Report Server Update – March 2018

    新版的PowerBI server 和 Desktop 终于发布了。  详细增加功能见以下链接:   下载最新 […]...

  2. 使用Azure SQL Data Sync在Azure 上实现蓝绿部署

    通过敏捷开发自动化部署实现产品的快速发布已经成为大多数产品团队的共识。然而每次谈到用蓝绿部署来实现部署自动化的 […]...

  3. SQL Server 数据导入Mysql详细教程

    百度经验:https://jingyan.baidu.com/article/acf728fd1a7bd0f8 […]...

  4. SQL Server 数据库备份还原和数据恢复 – pursuer.chen

    SQL Server 数据库备份还原和数据恢复 2014-04-02 16:24  pursuer.chen  […]...

  5. sql nvarchar类型和varchar类型存储中文字符长度

        今天遇到了,随手记录一下。   sql server 存储数据里面            NVARCH […]...

  6. Sql server 用T-sql读取本地数据文件dbf的数据文件

    第一步启用Ad Hoc Distributed Queries  在SQLserver执行以下的语句: exe […]...

  7. SQL Server 合并复制如何把备份的发布端或订阅端BAK文件还原为数据库

    SQL Server的合并复制,是可以备份发布端和订阅端数据库为BAK文件的,但是问题是合并复制在数据库中自动 […]...

  8. Sql Server中 select into 的用法 01. 把存储过程结果集SELECT INTO到临时表

    在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种。 一. SELECT INTO 1. 使用s […]...

随机推荐

  1. 数据分析:如何从互联网大数据中分析行业趋势

    数据分析:如何从互联网大数据中分析行业趋势 一、前言: 研究行业趋势是每家公司的硬需求,如手机业者希望了解同行 […]...

  2. TurboDemo软件使用教程:视频编辑

    视频软件TurboDemo中不仅可以快速的捕捉屏幕,而且可以对视频进行编辑,本文来详细的了解一下这个步骤。 视 […]...

  3. Qt 串口连接

    Qt 串口连接 使用 Qt 开发上位机程序时,经常需要用到串口,在 Qt 中访问串口比较简单,因为 Qt 已经 […]...

  4. activity跳转到新的activity后清除之前的activity

    Intent intent = new Intent(A.this, B.class); intent.set […]...

  5. Linux-Rsync服务器/客户端搭建实战 – John_ABC

    Linux-Rsync服务器/客户端搭建实战 一、需求   每晚汇总各机器的操作日志,同步到主服务器进行日志分 […]...

  6. 利用SHA-1算法和RSA秘钥进行签名验签(带注释)

    从小白到清晰熟悉SHA-1加密摘要,RSA加密信息的全过程   背景介绍 1、SHA 安全散列算法SHA (S […]...

  7. 免费学编程!10个全球顶尖的编程在线自学网站

    编者按:现在会编程的设计师越来越多了,想跟上时代的同学,来看今天推荐的这10个网站,不仅有大量免费的编程语言课 […]...

  8. ios 11 12以后下拉刷新不回位的解决方法

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Me […]...

展开目录

目录导航