用SQL语句操作数据

Posted on 2017-10-19 14:59  卡喵与修正拳  阅读(246)  评论(0编辑  收藏  举报

一.

SQL

语言主要有以下几部分组成。

1.DML

(Date Manipulation Language,数据操作语言):用来插入,修改和删除数据库中的数据,如insert,update和delete等。

 

 2.DDL(Date Definition Language,数据定义语言):用来建立数据库,数据库对象和定义其列,大部分是以create开头的命令,如create table ,create view及select等

 

3.DQL(Date Query Language,数据查询语言):用来对数据库中的数据进行查询,如select 等

 

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

 

除此之外,T-SQL还包括变量说明,内部函数等其他的命令。

 

二.SQL中的 运算符在SQL中,

常用的几种运算符有算数运算符,赋值运算符,比较运算符和逻辑运算符

 

1.算术运算符

算数运算符包括:+(加)-(减)*(乘)/(除)%(模) 

2.赋值运算符 SQL有一个赋值运算符,即‚=‛(等号),用于讲一个书或变量或表达式赋值给另一变量 

3.比较运算符 比较运算符用来判断两个表达式的大小关系,除了text,next或image数据类型的表达式外,比较运算符几乎乐意用于其他所有的表达式 

比较运算符包括:=(等于)  >(大于)  <(小于)<>(不等于) >=(大于等于) <=(小于等于) !=(不等于) 

比较运算符计算结果为布尔数据类型,并根据测试条件的输出结果返回true或false。

 

4.

逻辑运算符

逻辑运算符用来对某个条件进行判断,以获得判断条件的真假。

 T-SQL中的逻辑运算符

运算符说明

and 

当且仅当两个布尔表达式都为true时,返回true 

or 

当且仅当两个布尔表达式都为false时,返回false 

Not 

对布尔表达式的值取反,优先级最高

三.使用T-SQL插入数据

 向表中添加数据,这里介绍两种方式:

1.在SQL Server Management Studio中插入数据比较简单,只要选择并右击表,然后在快捷菜单选择‘打开表’选项,就可以向表中插入数据

2.使用T-SQL

语句向表中添加数据,也可以将现有表中的数据添加到新创建的表中。

四.使用insert插入数据语法Insert [into] 表名[(列名列表)] alues(值列表); 其中;

1.[into]是可选的,也可省略

2.表名是必需的

3.表的列名是可选的,如果省略,将依次插入所有列

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

5.分号(;)是T-SQL语句终止符,分号不是必需的 

例如一下语句,向学生表中插入一行数据

Insert into students(sname,saddress,sgrade,smail,ssex) Values(‘张青菜’,‘上海松江’,6,‘ZQC@qq.com’ ,0) 

五.一次插入多行数据

1.通过insert select 语句将现有表中的数据添加到已存在的表中 

例如,创建一张新表AddressList来储存本班的通讯记录信息,则可以从学生表中提取相关的数据插入到该建好的表中

Insert into AddressList (姓名,地址,电子邮件)

Select Sname,SAddress,SEmail 

From students 

2.通过select into 语句将现有表中的数据添加到新表中

例如;

elect  students.Sname,Students.Saddress,students.Semail 

Into AddressList 

From students 

语法:

Select identity(数据类型,表示种子,表示增长量)AS列名

Into 新表

 From 

原始表

 

3.通过union关键字合并数据进行插入

Union 语句用于将两个不同的数据或查询结果组合成一个新的结果集

例如:

 Insert student(Sname,Sgrade,Ssex) Select ‘张可’,7,1 union Select ‘张哈’,8,9 

六.使用T-SQL更新数据库

语法:

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

其中:

1.set 后面可以紧随多个数据列的更新值,不限一个,使用逗号分隔

2.Where子句是可选的,用来限制更新数据的条件,如果不限制,则整个表达所有数据行将被更新

提示。在更新数据库的时候,一般都有条件限制,别忘了where条件语句,否则将更新表中所有行的数据,这就可能导致有效数据的丢失

 

七.使用delete删除条件 

语法

Deleted [from] 表名[where<删除条件>] 

例如,在学生信息表中删除姓名为’张青菜’的SQL语句,

 

Delete from student 

Where Sname=’张青菜’

 

八.使用truncate table 删除数据

 

Rtuncate table 用来删除表中所有行,功能上类似于没有where子句的delete语句

 

例如,要删除学生信息表中的所有记录行,可以使用一下语句 

Truncate table studentd 

但truncate table比delete执行速度快,使用的系统资源和事务日志资源更少,并且删除数据后表的标识列后重新开始编号 

提示:

Truncate table删除表中的所有行,但是表的结构,列,约束,索引等会不会被删除,

truncate table不能用于有外键约束应用的表,这种情况下,需要使用delete语句