T-SQL的组成
DML(数据操作语言)
————查询、插入、删除和修改数据库中的数据;
————select、insert、update、delete 等;
DCL(数据控制语言)
————用来控制存取许可、存取权限等;
————grant、revoke、deny 等;
DDL(数据定义语言)
————用来建立数据库、数据库对象和定义其列等;
————create table、drop table、alter 等;
变量说明、流程控制、功能函数
————定义变量、分支判断、循环结构等;
————日期函数、数学函数、字符函数、系统函数等;
| 运算符 | 含义 | 
| = | 等于 | 
| > | 大于 | 
| < | 小于 | 
| >= | 大于或等于 | 
| <= | 小于或等于 | 
| <> | 不等于 | 
| 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联机丛书)
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号