使用T-SQL语句插入、更新、删除数据表

简介:

    在对数据进行管理时,使用SSMS进行数据维护有可视化、方便的优点,但是在批量维护或重复维护时,使用SSMS就不方便了,还容易出错,这就需要编写SQL语句对数据库进行维护



SQL和T-SQL

    SQL是Structured Query Language的缩写,即结构化查询语言,是关系数据库的标准语言。如今Oracle、Sybase、Informix、SQL Server这些大型数据库管理系统都支持SQL作为查询语言

    T-SQL是SQL的加强版,除了标准的SQL命令外,还支持类似于程序语言的基本功能,如流量控制、变量说明、功能函数等

    T-SQL语言主要由以下几部分组成:

  DML(Data Manipulation Language,数据操纵语言):用来查询、插入、删除、修改数据库中的数据,如select、insert、update、delete

  DDL(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义其列,大部分命令以create开头的命令,如create、alter、drop

  DCL(Data Control Language,数据控制语言):用来控制数据库组件的存取许可、存取权限等,如grant、revoke


插入数据(INSERT)

    使用INSERT语句将数据库插入到表中,语法格式如下:

insert [into] 表名 [列名] values 值列表

其中

* into是可选的,可省略

* 表名是必须的,而表的列名是可选的,如省略,值列表的顺序与数据表中字段顺序保持一致

* 多个列名和值列表用逗号分隔


例如:向学生成绩表中插入一行数据,可以使用如下T-SQL语句

   SQL语句的执行一般在查询窗口中进行,单击“新建查询”按钮,选择数据库,输入SQL语句,如下图所示:


e6524d25b92af0298267d12b4f3e0fb4.png


    在SSMS中单击“√”,系统会检查输入的T-SQL语句是否有语法错误,之后会显示分析结果,如果无误,单击执行,可以执行T-SQL语句,然后显示执行结果,如下图所示:

91e731f4f9129426fac11bd559f5c458.png


    在插入数据时,需要注意以下事项:

(1)每次插入一整行数据,不可能只插入半行或者几列数据

(2)数据值的数目必须与列数相同,每个值的数据类型、精度、小数位也不需与相应的列匹配

(3)对于字符类型的列,必须使用单引号

(4)插入的数据项要求符合CHECK约束的要求



更新数据(UPDATE)

    使用UPDATE语句更新表中的数据,语法格式如下:

update 表名 set 列名=更新值 [where 更新条件]

其中

* set后面可以紧随多个数据列的更新值,不限一个

* where是可选的,用来限制条件,如果不限制,整个表所有数据行都将被更新


例如:更改学生成绩表中学生杨凡的CNT为95,SQL为77,可以使用如下T-SQL语句,如下图所示

c83e49a38c1a4f3696c241e11280ec71.png



删除数据

(1)使用DELETE语句删除表中的数据

    delete语法格式如下

delete from 表名 [where 删除条件]

* 如果不用where,将删除表中所有数据


例如:删除学生成绩表中学生张三的记录,可以使用如下T-SQL语句

7f6de80c653d0f5d8b833e82cea3df8b.png


注意:delete语句用于删除整条记录,不会只删除单个字段,所以在delete后面不能出现字段名


(2)使用Truncate table语句删除表中的数据

    Truncate table语句用来删除表中所有行,功能上类似于,没有where子句的delete语句, Truncate table语法格式如下:

truncate table 表名


Truncate table语句与DELETE语句的区别如下:

 Truncate table语句不带where,只能将整个表数据清空,而DELETE语句可以按照条件删除某些记录

 Truncate table语句不记录事务日志,删除后无法通过事务日志恢复;而DELETE语句每删除一行记录,都会记录一条事务日志。

 Truncate table语句不能用于有外键约束引用的表,这种情况下,需要使用DELETE语句

    综上所述,Truncate table语句执行速度更快,在情况大量数据表作业时,DBA常用此语句,但在执行前要确保数据可以删除,否则无法恢复











本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/1983937,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
数据库
mysql-SQL从一个表查询数据插入/更新到另一个表
mysql-SQL从一个表查询数据插入/更新到另一个表
36 0
|
4月前
|
SQL 数据库
SQL INSERT INTO 语句详解:插入新记录、多行插入和自增字段
SQL INSERT INTO 语句用于在表中插入新记录。
378 0
数据更新语句INSERT语句、UPDATE语句、DELETE语句等,用于向数据表中插入、更新或删除数据。示例
数据更新语句INSERT语句、UPDATE语句、DELETE语句等,用于向数据表中插入、更新或删除数据。示例
77 1
|
12月前
|
SQL 数据库 C语言
使用SQL语句实现数据插入、修改和删除操作
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句实现数据插入、修改和删除操作。
436 0
sql_插入,修改,删除
sql_插入,修改,删除
58 0
|
SQL C# uml
C# SQL添加数据,删除数据,修改数据,查询数据
C# SQL添加数据,删除数据,修改数据,查询数据
209 0
C# SQL添加数据,删除数据,修改数据,查询数据
|
SQL 关系型数据库 MySQL
【SQL系列】插入新记录
【SQL系列】插入新记录
182 0
|
SQL Python
SQL语句修改表操作
此博客用于记录工作用到的SQL语句,持续更新,欢迎补充!
149 0
|
SQL 关系型数据库
SQL更新部分字段或者插入新数据
SQL更新部分字段或者插入新数据http://www.bieryun.com/3184.html 因为业务的原因,一张表的数据需要整合两张外键关联不强的表数据,这里涉及到更新部分字段或者插入新数据。
1573 0
删除重复记录的SQL语句
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。 1、对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集。
1099 0