T-SQL语句的使⽤
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
当兵的好处
Sql Server 2005 --T-SQL 语句 Itzik Ben-Gan 是Solid Quality Learning(SQL)的导师和创始⼈。 T-SQL 是标准SQL 的加强版,并对SQL 命令做了许多扩充,提供类似于程序语⾔的基本功能。
T-SQL 的组成是由DML;DCL;DDL 语⾔构成:
DML:数据操作语⾔(⽤来查询、插⼊、删除和修改数据库中的数据,如Select、Inrt、Update 及Delete 等。)DCL:数据控制语⾔(⽤来控制数据库组件的存取许可、存取权限等,如Grant、Revoke 等。)
DDL:数据定义语⾔(⽤来建⽴数据库、数据库对象和定义其列,⼤部分是以Create 开头的命令,如Create Table、Create View 及Drop Table 等。)
表达式
1. 条件表达式
1.1⽐较运算符
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
1.2 通配符
2. 逻辑表达式
3.1 逻辑运算符
Select 查询语句
Select lect_list
From table [ Where Conditions]
[ Order By order_list [ Asc | Desc ] ]
Select_list:字段列表,样式为“字段1……字段N”。
Table:查询表,样式为“表1,表2…表N”。
Condiitions:由表字段组成的条件表达式或逻辑表达式。
Order_list:查询结果按照某字段排序的字段列表。
基层单位推荐意见内部资料 禁⽌外传 制作者:王宝剑2010-12-26
举例:
1. Select * from newsclass
查询newsclass 表所有列的内容。
2. Select newsID from newsclass
查询newsclass 表newsID 列中的所有内容。
夜景3. Select * from newsclass where newsid < ( >; <=; >=; <>)10 查询newsclass 表所有列中的newsid
⼩于(⼤于;⼩于等于;⼤于等于;不等于) 10的所有内容。
4. Select * from newsclass where newstitle like ‘c_ ’
查询newsclass 表newstitle 列中是c 的所有内容
5. Select * from newsclass where newstitle like ‘c% ’
查询newsclass 表newstitle 列中是以C 开头的所有内容
6. Select * from newsclass where newstitle like ‘%c%’
查询newsclass 表中newstitle 列中含有字母C 的所有内容
7. Select * from newsclass where newstitle like ‘12cd[0-9]’
查询newsclass 表中newstitle 列中是12cd*,(*代表第五个字符为0-9)的所有内容
8. Select * from newsclass where newstitle like ‘[0-9]% ’ 查询newsclass 表中newstitle 列中是以数字0-9开头的所有内容
9. Select * from newsclass where newstitle like ‘%[a-z]%’ 查询newsclass 表中newstitle 列中包含字母a-z 的所有内容
元宵节的灯谜
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
10. Select * from newsclass where newstitle like ‘[^0-9]%’ 查询newsclass 表中newstitle 列中不是以数字0-9开头的所有内容
11. Select * from newsclass where newssource is not NULL 查询newsclass 表中newssource 不为空的所有内容
12. Select * from newsclass where newssource is NULL红烧大排
查询newsclass 表中newssource 列中为空的所有内容
13. Select * from newclass where id > 10 and newssource =’北⼤青鸟’查询newsclass 表中id 列⼤于10并且新闻源为北⼤青鸟的所有内容
14. Select * from newsclass where id>10 or newssource=’北⼤青鸟’ 查询newsclass 表中id ⼤于10或者新闻源为北⼤青鸟的所有内容
15. Select * from newsclass where id between 10 and 20 查询newsclass 表中id 在10和20之间的所有内容
16. Select newstitle AS 新闻标题,newsdate 新闻⽇期 from newsclass where newsource <> '腾讯⽹'
查询newsclass 表中newstitle 和newsdate 两列条件是新闻来源不是来⾃于腾讯⽹的所有内容,并且将查询后的结果中newstitle 输出为新闻标题,将newsdate 输出为新闻⽇期
17. Select TOP 3 * from newsclass
查询newsclass 表中的所有内容,只输出全部内容的前3⾏
18. Select top 20 percent * from newsclass
查询newsclass 表中所有内容,只输出全部内容的前20%
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
19. Select * from newsclass order by id ASC(DESC)
查询newsclass 表中所有内容,并且将查询的结果根据id 列执⾏升序(降序)的排序输出
Inrt 插⼊语句
INSERT [INTO] <;表名> [列名] VALUES <;值列表> [INTO]是可选的,可以省略
表名是必需的,表的列名是可选的,如果省略,<;值列表>中顺序与数据表中字段顺序保持⼀致
多个列名和多个值列表⽤逗号分隔
举例:
1. Inrt into newsclass (id,urname,urpassword) values (‘1’,’张
三’,’/doc/5367ee0af78a6529647d5398.html ’)
向newsclass 表中id,urname,urpassword 三列插⼊⼀条记录,内容为id 是1,名字为张三,密码为
/doc/5367ee0af78a6529647d5398.html
2. Inrt into newsMost (新闻标题,新闻⽇期,点击率)
Select newstitle, newsdate, hits
From newsclass
将从newsclass 表中查询出的newstitle,newsdate,hits 三列的内容插⼊到newsmost 中作为新闻标题,新闻⽇期,点击率三列。
(Newsmost 表需要在插⼊之前就建⽴好)
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
Cast
⽤法 Cast 意思是进⾏数据类型的转换
3. Inrt into newsMost (新闻标题,新闻⽇期,点击率)
Select newstitle, newsdate, hits
From newsclass
where newsdate > cast ('2008-06-01' as datetime)
将从newsclass 表中查询出的newstitle,newsdate,hits 三列的内容插⼊到newsmost 中作为新闻标题,新闻⽇期,点击率三列,并且将newsclass 表中的newsdate 列的⼀个值为‘2008-06-01’的数据类型改变为datetime 类型。
4. Select NEWSTITLE,NEWSDATE,HITS into newsMost1 from newsclass
将查询newsclass 表中的newstitle,newsdate,hits 三列的内容插⼊到新的newsmost1中。(Newsmost1表不需要在插⼊之前就建⽴好)
5. Select identity (int,1,1) As 新闻ID, newstitle AS 新闻标题,newsdate AS 新闻⽇期, hits AS 点击率 into newsMost2 from newsclass
将查询newsclass 表中的newstitle ,newsdate,hits 三列的内容插⼊到新的newsmost2中。并且在插⼊的时候进⾏转换,把newstitle 作为新表中的新闻标题,newsdate 作为新表中的新闻⽇期,hits 作为新表中的点击率。并且增加新闻ID 作为⼀个标识列。
[identity 是标识的意思,其中的(int,1,1)表⽰的意思是标识列是⼀个
电饭煲煮玉米内部资料 禁⽌外传 制作者:王宝剑2010-12-26
手机骷髅病毒
整数型的,第⼀个1代表的从1开始,第⼆个1代表的是每次增加1] Union ⽤法 union 意思是将前⼀个结果和后⼀个结果联合使⽤
6. Inrt newsMost (新闻标题,新闻⽇期,点击率)
Select '两会会议','2009-03-06',100 union
Select '汽车.购车','2009-03-06',120 union
Select NEWSTITLE,NEWSDATE,HITS
From t_news
union
lect 新闻标题,新闻⽇期,点击率
from newsMost2
将从T_NEWS 表中查询的三列newstitle,newsdate,hits 和从newsmost2 中查询的三列新闻标题,新闻⽇期,点击率联合起来,并且联合两次的输⼊结果⼀起插⼊到⼀张新的表newsmost 中作为新闻标题,新闻⽇期,点击率。
Update 语句⽤法
UPDATE <;表名> SET <;列名 = 更新值> WHERE <;更新条件> 举例:
1. Update t_News_Ur t Power = 'Fal'
将t_news_ur 表中power 列中所有的值都更新为fal
2. Update t_News t newssource='北⼤青鸟' where newssource is NULL
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
将t_news 表中newssource 列为空的都更新为‘北⼤青鸟’。
Delete 删除语句
Delete from <;表名> [where <;删除条件>]
举例:
1. Delete from t_news where newssource like '%新浪⽹%' 删除t_news 表中新闻来源类似于新浪⽹的内容。Truncate ⽤法意思是清除表中的所有⾏
举例:
Truncate table t_News
清空t_news 表中的所有数据
Create 的⽤法意思是创建,可以是创建数据库可以是创建表举例:
1. Create databa newsclass
创建⼀个newsclass 的数据库
2. Create table newsclass (id int,name nvarchar(20),password nvarchar(20)) 创建⼀个newclass 表,表中有三列id,name,password
Drop 的⽤法意思是删除数据库或者表的
内部资料 禁⽌外传 制作者:王宝剑2010-12-26
举例:
1. Drop table newsclass
删除表newsclass
2. Drop databa news
删除数据库news
有家真好
Alter 的⽤法意思是表更改属性
举例:
1. Alter table news alter column newsclass money
更改news 表中列名为newsclass 的数据类型为money 类型。
2. Alter table news drop(add) column newsid 删除(添加)news 表中名为newsid 的列
数据类型