T-SQL的组成

 

DML(数据操作语言)

————查询、插入、删除和修改数据库中的数据;

————select、insert、update、delete 等;

DCL(数据控制语言)

————用来控制存取许可、存取权限等;

————grant、revoke、deny 等;

DDL(数据定义语言)

————用来建立数据库、数据库对象和定义其列等;

————create table、drop table、alter 等;

变量说明、流程控制、功能函数

————定义变量、分支判断、循环结构等;

————日期函数、数学函数、字符函数、系统函数等;

 

T-SQL中逻辑运算符
运算符 含义
= 等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
<> 不等于
not

 

通配符
通配符 解释 实例
_ 一个字符 a like 'c_'
% 任意长度字符串 b like 'co_%'
[] 括号中所指定范围内的一个字符 c like '9w01[1-2]
[^] 不在括号中所指定范围内的一个字符 d like '%[a-d][^1-2]'

逻辑表达式

and —— 逻辑与

or —— 逻辑或

not —— 逻辑非

 

 

插入数据行

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

insert into student(sNo,sName,sAge,sAddress) values('007','张三',24,'上饶市余干')

插入多行数据 1

insert into<表名> (列名) select <列名> from<源表名>

insert into TongXunLu(‘姓名', '地址', '电子邮件') select sName, sAddress, Semail from students

插入多行数据 2

select(列名) into<表名> from<源表名>

select students.Sname, students.Saddress, students.Semail into tongXunLu from students

备:这种方法如果tongXunLu表没有会被自动创建。该语句只能插入一次数据,因为再次插入时会提示表已存在。

select into 插入多行数据的时候,如何重新插入标识列?

select identity(数据理性,标识种子,标识增长量)as 列名 into 新表 from 原始表

select Sname, Saddress, Semail, identity(int, 1, 1)as studentid into tongXunLuEx from student数据s

插入多行数据 3

insert into <表名><列名>

select <列名>union

select <列名>union

……


更新数据行

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

 

update students set Ssex=0

 

upadte studetns set Saddress='北京女子职业技术学校家政班'

where sAddress='北京女子职业技术学校刺绣班'

 

update Scores set Scores=Scores+5 where Scores<=95

 


 

 

 

删除数据行

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

 

delete from students where Sname='张三'

 

备:有主外键关系的不能被删除

解决方法1:先把子表中的关联信息删除后再删主表中信息。

解决方法2:在建立关系中选上级联删除(慎用)。

 

思考:

以下的删除语句可以执行吗?

delete sCode from students

答案:不能。

delete 针对的是数据操作,不能删除列。

 

 

truncate table<表名>

truncate table students   =  delete from students

区别:truncate 删除表中的所有行,不记录单个行删除操作(连锅端,效率高,详情见sql server联机丛书)

posted on 2020-01-01 07:52  风天雨乐  阅读(130)  评论(0)    收藏  举报