• SQL sever中表数据管理


    目录

    一、插入数据:

    二、更新数据:

    三、删除数据:

    四、清空数据:

    4.1使用DELETE语句:

    4.2 使用TRUNCATE TABLE语句: 

    4.3区别: 

    4.3.1DELETE FROM:

    4.3.2TRUNCATE TABLE:

    五、导入和导出数据:

    六、使用SSMS界面:

    七、使用视图:

    八、使用存储过程:

    九、使用触发器:

    十、使用函数:

    十一、使用索引和统计:

    十二、定期备份数据:


    常见的SQL Server中管理表中数据的方法如下:

    首先创建表Customers,命令如下:

    1. CREATE TABLE Customers (
    2. CustomerID INT PRIMARY KEY,
    3. CustomerName VARCHAR(100),
    4. ContactName VARCHAR(50),
    5. City VARCHAR(50),
    6. Country VARCHAR(50)
    7. );

     

    一、插入数据

    插入数据的语法是使用INSERT INTO语句:

    语法:

    1. INSERT INTO table_name (column1, column2, ...)
    2. VALUES (value1, value2, ...);

    示例:

    假设有一个名为Customers的表,包含CustomerIDCustomerNameContactNameCity列。以下是一个插入数据的示例:

    1. INSERT INTO Customers (CustomerID,CustomerName, ContactName, City)
    2. VALUES ('1001','ABC Company', 'John Doe', 'New York');

     执行结果:

    指定要插入的表名称(Customers)和要插入的列名称(CustomerID、CustomerNameContactNameCity),然后使用VALUES子句指定要插入的值('1001'、'ABC Company'、'John Doe'和'New York')。插入数据时,确保列的顺序与VALUES子句中的值一致。 

    也可以插入多行数据,只需在VALUES子句中添加多组值即可。例如:

    1. INSERT INTO Customers (CustomerID,CustomerName, ContactName, City)
    2. VALUES ('1002','XYZ Corp', 'Jane Smith', 'Los Angeles'),
    3. ('1003','123 Industries', 'Bob Johnson', 'Chicago');

    执行结果:

     

    二、更新数据

    创建Products表的具体语句:

    1. CREATE TABLE Products (
    2. ProductID INT PRIMARY KEY,
    3. ProductName VARCHAR(100),
    4. Price DECIMAL(10, 2),
    5. Category VARCHAR(50)
    6. );

     

    更新数据的语法是使用UPDATE语句 :

    语法:

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

    示例:

    假设有一个名为Products的表,包含ProductIDProductNamePriceCategory列。以下是一个更新数据的示例:

    已知表中有一条数据:

    insert into Products values(123,'苹果',26,'m');

    使用UPDATE语句来更新Products表中ProductID为123的产品的Price列,使用SET子句指定要更新的列(Price),并将新值(29.99)赋给它,然后,使用WHERE子句指定更新的条件,以确保只更新符合条件的行:

    1. UPDATE Products
    2. SET Price = 29.99
    3. WHERE ProductID = 123;

     执行结果:

    同时更新多个列和多行数据。例如:

    1. UPDATE Products
    2. SET Price = 19.99, Category = 'Electronics'
    3. WHERE Category = 'Gadgets';

    执行结果: 

    注意:

    在执行更新操作之前,需要具备适当的权限,并确保更新操作不会破坏数据的完整性。为了避免误操作,建议在进行更新操作之前进行充分的测试。 

    三、删除数据

    删除数据的语法是使用DELETE FROM语句:

    语法:

    1. DELETE FROM table_name
    2. WHERE condition;

    示例

    假设有一个名为Customers的表,删除City为'New York'的所有客户记录。以下是一个删除数据的示例: 

    1. DELETE FROM Customers
    2. WHERE City = 'New York';

    使用DELETE FROM语句来删除Customers表中City为'New York'的所有行,然后使用WHERE子句指定删除的条件,以确保只删除符合条件的行。 

    还可以在不使用WHERE子句的情况下删除整个表中的所有数据。例如:

    DELETE FROM Customers;
    

    四、清空数据:

    可以使用DELETE语句或TRUNCATE TABLE语句来清空表中的数据。

    4.1使用DELETE语句

    语法:

    DELETE FROM table_name;
    

    示例

    假设有一个名为Customers的表,您要清空所有数据: 

    DELETE FROM Customers;
    

    4.2 使用TRUNCATE TABLE语句: 

    语法:

    TRUNCATE TABLE table_name;
    

    示例

    同样假设有一个名为Customers的表,您要清空所有数据: 

    TRUNCATE TABLE Customers;
    

    4.3区别: 

    无论是选择使用DELETE FROM还是TRUNCATE TABLE,都会清空表中的所有数据。但是,它们之间有一些重要的区别,如前面的回答所述。如果关心性能和事务回滚,可以考虑使用TRUNCATE TABLE。如果需要特定条件的删除或需要触发器执行,可以使用DELETE FROM。 下面对他们之间的区别做描述:

    4.3.1DELETE FROM

    • DELETE FROM语句用于从表中删除行,并且您可以使用WHERE子句来指定要删除的特定行。
    • DELETE FROM是一种较为灵活的删除方法,允许您根据条件选择要删除的数据。
    • DELETE FROM语句会触发表上的删除触发器(如果有定义的话)。
    • 删除操作是逐行进行的,可能会对事务日志和性能产生影响。
    • 删除操作可回滚,可以通过事务进行管理。

    示例:

    1. DELETE FROM Customers
    2. WHERE City = 'New York';

    4.3.2TRUNCATE TABLE

    • TRUNCATE TABLE语句用于从表中删除所有数据,但不是逐行删除,而是通过释放数据页的方式来快速删除数据。
    • TRUNCATE TABLE不能使用WHERE子句指定特定的行。
    • TRUNCATE TABLE不会触发表上的删除触发器。
    • 删除操作是一次性的,不会生成大量的事务日志,因此性能通常更好。
    • TRUNCATE TABLE操作无法回滚,因为它不会生成足够的信息来恢复数据。

     总结:

    如果需要删除特定条件下的一些行,使用DELETE FROM。如果想删除整个表的数据且不关心触发器和回滚,可以考虑使用TRUNCATE TABLE来获得更高的性能。

    注意:

    使用TRUNCATE TABLE将不可逆地删除表中的所有数据。在执行删除操作之前,请谨慎考虑并确保您具备适当的权限,请谨慎考虑并确保已备份重要的数据。

    五、导入和导出数据

    使用BCP工具、SSIS(SQL Server Integration Services)或其他ETL工具来导入和导出数据

    六、使用SSMS界面

    SQL Server Management Studio(SSMS)提供图形界面,可以轻松地插入、更新、删除和查询表中的数据。在“对象资源管理器”中右键单击表,然后选择“编辑前 200 行”以编辑表数据。

    七、使用视图

    创建视图以根据特定条件从表中选择数据。视图是虚拟表,可以简化复杂查询。

    八、使用存储过程

    使用存储过程来自动执行特定的数据管理操作,如插入、更新和删除。

    九、使用触发器:

    可以在数据插入、更新或删除时触发一些自动化操作。触发器可以用来管理数据的约束、审计或触发其他业务逻辑。

    十、使用函数:

    可以使用函数封装和管理复杂的SQL逻辑(同存储过程)。这些函数可以在需要时调用,以实现对表中数据的操作。

    十一、使用索引和统计

    使用索引来加速查询操作,使用统计信息来优化查询计划。

    十二、定期备份数据

    根据业务需求,定期备份表中的数据,以防止数据丢失。

  • 相关阅读:
    C++的继承基础和虚继承原理
    基于HLS的全连接神经网络手写体识别
    Swan学院社团招新
    Android网络模块基本实现步骤
    数据库原理与应用——引言(一)
    Java 9 的模块(Module)系统
    Leetcode array 704 27 189 121 380 238 134 13
    面向对象程序设计(C++)之 String 类
    Photoshop、Illustrator、Sketch哪个更好
    Express框架
  • 原文地址:https://blog.csdn.net/m0_71406734/article/details/132683411