最近在学SQL SERVE收集了一些资料看看
2014-08-29 10:54
225 查看
一、数据插入
1、语法
INSERT INTO 表名 [<属性列>]
VALUES(参数列表)
注解:
①没有说明属性列,即要给出所有的列的值
②不确定的列,可以设置为null。(在允许为空的情况下)
2、实例
①在“人事管理系统”中,新增一个员工信息(员工编号‘100508’、员工姓名‘小龙女’、所在部门编号‘10001’、籍贯‘河南’)
insert into员工信息(员工编号,员工姓名,所在部门编号,籍贯)
values('100508','小龙女','10001','河南')
②将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。
insert into新员工信息(员工编号,员工姓名,所在部门编号)
select 员工编号,员工姓名,所在部门编号from员工信息
where 籍贯='河南'and所在部门编号='10001'
二、数据更新
1、语法
UPDATE表名 SET 列名=表达式
[WHERE<条件>]
2、实例
①在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10
update 部门信息 set 员工人数=10
②在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去
update 员工信息set所在部门编号='10006'
where 入职时间 between '2005-05-01' and '2007-05-01' and文化程度='大专'
③在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人
update 部门信息set 部门名称='市场开发部',员工人数=20
where 部门编号=10006
三、数据删除
1、语法
(1)删除表的记录,保留表的结构,写日志可以恢复
DELETEFROM 表名
[WHERE<条件>]
(2)删除表的所有记录,保留表的结构,不写日志,无法恢复,速度快
TRUNCATETABLE 表名
2、实例
①在“人事管理系统”数据库中,编号为“100503”的新员工升级为正式员工,需要在“新员工信息”表中删除他的记录。
delete from 新员工信息 where 员工编号='100503'
②在“人事管理系统”数据库中,需要删除5%的员工信息
delete top (5)percentfrom员工信息
③在“人事管理系统”数据库中,删除“新员工信息”表中的所有记录
truncate table新员工信息
或delete from 新员工信息
④将学生“陈霞”所在班级的其他学生并且成绩不合格的学生成绩删除
deletefrom 成绩表
where 成绩<60and学号in(
select 学号from学生信息
where 班级编号=(select班级编号from学生信息where姓名='陈霞'))
四、数据查询
1、语法
SELECT[ALL|DISTINCT] <目标列表达式>
FROM<表名|视图名>
WHERE<条件表达式>
GROUPBY <列名>
HAVING<条件表达式>
ORDERBY <列名> [ASC|DESC]
2、注解
(1)SELECT [ALL|DISTINCT] <目标列表达式>
①不仅可以是表中的属性列,也可以是表达式,还可以是字符串常量、函数。
②用户可以通过指定别名来改变查询结果的列标题。
③ALL|DISTINCT
l DISTINCT:去掉结果表中重复行。
l ALL:保留结果表中取值重复的行。如果没有指定DISTINCT关键字,则缺省为ALL。
④查询全部列:可以使用“*”
(2)WHERE <条件表达式>
①比较(=等于 >大于 <小于 >=大等于 <=小等于!=或<>不等于!>不大于!<不小于)
②确定范围(BETWEEN AND,NOT BETWEEN AND)
③确定集合(IN,NOT IN)
④字符匹配(LIKE,NOT LIKE)
l %:代表任意长度(长度可以为0)的字符串
l _:代表任意单个字符。
⑤空值(IS NULL,IS NOT NULL)
⑥多重条件(AND,OR,NOT)
(3)ORDER BY <列名> [ASC|DESC]
l DESC:降序
l ASC:升序,缺省为ASC
(4)聚集函数
(5)GROUP BY <列名> HAVING <条件表达式>
①将查询结果按某一列或多列的值分组,值相等的为一组。
②除了聚集函数,其他都要分组。
③如果分组后,还要求一定的条件对这些组进行筛选,最终只输出满足条件的组,可以使用 HAVING<条件表达式>。
④WHERE子句的作用于基本表或试图,从中选择满足条件的元组。HAVING作用于组,从中选择满足条件的组。
1、语法
INSERT INTO 表名 [<属性列>]
VALUES(参数列表)
注解:
①没有说明属性列,即要给出所有的列的值
②不确定的列,可以设置为null。(在允许为空的情况下)
2、实例
①在“人事管理系统”中,新增一个员工信息(员工编号‘100508’、员工姓名‘小龙女’、所在部门编号‘10001’、籍贯‘河南’)
insert into员工信息(员工编号,员工姓名,所在部门编号,籍贯)
values('100508','小龙女','10001','河南')
②将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。
insert into新员工信息(员工编号,员工姓名,所在部门编号)
select 员工编号,员工姓名,所在部门编号from员工信息
where 籍贯='河南'and所在部门编号='10001'
二、数据更新
1、语法
UPDATE表名 SET 列名=表达式
[WHERE<条件>]
2、实例
①在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10
update 部门信息 set 员工人数=10
②在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去
update 员工信息set所在部门编号='10006'
where 入职时间 between '2005-05-01' and '2007-05-01' and文化程度='大专'
③在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人
update 部门信息set 部门名称='市场开发部',员工人数=20
where 部门编号=10006
三、数据删除
1、语法
(1)删除表的记录,保留表的结构,写日志可以恢复
DELETEFROM 表名
[WHERE<条件>]
(2)删除表的所有记录,保留表的结构,不写日志,无法恢复,速度快
TRUNCATETABLE 表名
2、实例
①在“人事管理系统”数据库中,编号为“100503”的新员工升级为正式员工,需要在“新员工信息”表中删除他的记录。
delete from 新员工信息 where 员工编号='100503'
②在“人事管理系统”数据库中,需要删除5%的员工信息
delete top (5)percentfrom员工信息
③在“人事管理系统”数据库中,删除“新员工信息”表中的所有记录
truncate table新员工信息
或delete from 新员工信息
④将学生“陈霞”所在班级的其他学生并且成绩不合格的学生成绩删除
deletefrom 成绩表
where 成绩<60and学号in(
select 学号from学生信息
where 班级编号=(select班级编号from学生信息where姓名='陈霞'))
四、数据查询
1、语法
SELECT[ALL|DISTINCT] <目标列表达式>
FROM<表名|视图名>
WHERE<条件表达式>
GROUPBY <列名>
HAVING<条件表达式>
ORDERBY <列名> [ASC|DESC]
2、注解
(1)SELECT [ALL|DISTINCT] <目标列表达式>
①不仅可以是表中的属性列,也可以是表达式,还可以是字符串常量、函数。
②用户可以通过指定别名来改变查询结果的列标题。
③ALL|DISTINCT
l DISTINCT:去掉结果表中重复行。
l ALL:保留结果表中取值重复的行。如果没有指定DISTINCT关键字,则缺省为ALL。
④查询全部列:可以使用“*”
(2)WHERE <条件表达式>
①比较(=等于 >大于 <小于 >=大等于 <=小等于!=或<>不等于!>不大于!<不小于)
②确定范围(BETWEEN AND,NOT BETWEEN AND)
③确定集合(IN,NOT IN)
④字符匹配(LIKE,NOT LIKE)
l %:代表任意长度(长度可以为0)的字符串
l _:代表任意单个字符。
⑤空值(IS NULL,IS NOT NULL)
⑥多重条件(AND,OR,NOT)
(3)ORDER BY <列名> [ASC|DESC]
l DESC:降序
l ASC:升序,缺省为ASC
(4)聚集函数
COUNT([ALL|DISTINCT]*) | 统计元组个数 |
COUNT([ALL|DISTINCT]<列名>) | 统计一列中的个数 |
SUM([ALL|DISTINCT]<列名>) | 计算一列值的总和 |
AVG([ALL|DISTINCT]<列名>) | 计算一列值的平均值 |
MAX([ALL|DISTINCT]<列名>) | 求一列值中的最大值 |
MIN([ALL|DISTINCT]<列名> | 求一列值中的最小值 |
①将查询结果按某一列或多列的值分组,值相等的为一组。
②除了聚集函数,其他都要分组。
③如果分组后,还要求一定的条件对这些组进行筛选,最终只输出满足条件的组,可以使用 HAVING<条件表达式>。
④WHERE子句的作用于基本表或试图,从中选择满足条件的元组。HAVING作用于组,从中选择满足条件的组。
相关文章推荐
- 最近收集的一些经典C语言资料
- 最近收集的一些Spring,Hibernate资料
- 最近在用wsad进行开发,收集了一些资料!
- 最近公司用到了lombok,感觉很不错的样子,所以上网搜了一些资料,总结了一下用法。
- 关于sql server全文检索的一些资料收集2
- System Center的一些资料收集
- 初学ASP.Net时在论坛收藏收集的一些资料备忘
- 快速上手Spring--收集的一些资料
- 邮票分你一半 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明。每张邮票上都有分值,他们想把这些邮票分成两
- 关于office插件的网络资料收集(一些比较经典的文章)
- 快速上手Spring--1.收集的一些资料
- ENGLISH资料收集(31)-最近“忙”吗
- 话说最近一些比较好的资料的链接收录
- 个人需要,收集了一些关于Oracle 10g OCP认证的资料,与大家分享
- 快速上手Spring--1.收集的一些资料
- 我收集、整理的一些项管考试的一些资料,欢迎考友们下载!
- 关于ruby on rails的一些资料的收集
- 最近一段时间在研究rpm包的制作,转载过来比较好些的资料,和自己的一些例子
- 关于code generation的一些资料收集
- ENGLISH资料收集(23)-最近比较烦