使用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语句,如下图所示:

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

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

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

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

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

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

更新数据(UPDATE)

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

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

其中

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

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

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

删除数据

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

delete语法格式如下

delete from 表名 [where 删除条件]

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

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

注意: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常用此语句,但在执行前要确保数据可以删除,否则无法恢复

时间: 2024-07-30 19:21:38

使用T-SQL语句插入、更新、删除数据表的相关文章

SQL Server 创建 修改 删除数据表

1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括号就GG了. (2)删除数据表   原文地址:https://www.cnblogs.com/howie-we/p/12070942.html

SQL语句查询 更新 删除

一.查询语句 获取数据前十条 oracle: select * from tab where rownum <= 10; sql server: select top 10 * from tab mysql: select * from tab limit 10 select * from 表名 limit m,n:从m开始,取n条 二.更新语句 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 update <表名> set <列名> = <

插入,更新,删除数据

数据插入 INSERT是用来插入或者添加行到数据库表的,插入可以分为几种方法 插入完整的行 插入行的一部分 插入多行 插入某些查询的结果 插入完整的行 mysql> INSERT INTO customers VALUES(NULL, 'zhangsan', 'shandong', NULL, NULL, NULL, NULL, '15053631234', '[email protected]'); Query OK, 1 row affected (0.01 sec) 此例子插入一个新客户到

Mysql添加更新删除数据-表

例如 此处拥有一个表名为 uuser 为表添加新数据 1 insert into uuser values(1,'小王','111'); 2 insert into uuser values(2,'小张','111'); 3 insert into uuser values(3,'小六','111'); 假如只想添加uid和uname 1 insert into uuser(uid,uname) values(1,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成

使用SQL语句向已有数据表添加约束

如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败. 如: 这是一个表,为身份证号添加检查约束. USE DEmo--指向当前操作的数据库 GO ALTER TABLE Employee ADD CONSTRALNT CK_EmployeeID CHECK(LEN(EmployeeID=18) 然后会出现 报错意思是数据表里面的身份证号现有数据有不等于18的,与检查约束冲突,会添加失败. 用ALTER  TABLE Employee+ WITH NOCHECK可以解决

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

ORACLE基本SQL语句-添加更新数据函数篇

一.添加数据 /*添加数据*/insert into STU values('stu0004','赵一',18,1,"kc0004");insert into STU(STU_ID,STU_NAME,STU_AGE,STU_SET ) values('stu0013','储十一',19,1); 说明:如果不指定将数据添加到那个字段,那么此时必须列出全部数据,如果列出字段,则一一对应,必须列出约束不为空的所有字段,否则报错. 二.更新数据 /*更新数据*/update STU SET S

在SQLServer中使用SQL语句插入数据出现乱码或问号的解决方法

错误产生的原因: 出现使用SQL语句插入数据出现乱码或问号是由于数据库属性的排序规则设置不正确. 解决方法: 方法一:手动修改(设置数据库的排序规则) 注意事项:要确定修改的数据库没有被使用,否则会失败! 具体步骤:选中要修改的数据库-->右键-->属性-->弹出数据库属性对话框-->选项-->把排序规则设置成: Chinese_PRC_90_CI_AS-->确定. 方法二:使用代码修改 注意事项:要确定修改的数据库没有被使用,否则会失败!(将数据库连接断开执行这个脚本