SQL加、查、改、删、函数

 

USE lianxi
GO
create table student1
(
code int not null ,
name varchar(20),
sex char(4),
cid int not null,
yufen decimal(20,2),
shufen decimal(20,2),
yingfen decimal(20,2),
banji varchar(10),
dizhi varchar(10),
age int,
)
--添加信息
insert into student1 values(101,'张三','男',1111,80,30,70,'一班','淄博',18)
insert into student1 values(102,'李四','男',2222,70,30,70,'二班','滨州',23)
insert into student1 values(103,'王五','男',3333,80,80,70,'一班','淄博',32)
insert into student1 values(104,'张思','女',4444,80,30,90,'三班','青岛',26)
insert into student1 values(105,'李毅','男',5555,80,30,60,'二班','烟台',23)
insert into student1 values(106,'王琦','女',6666,80,40,70,'一班','淄博',18)
insert into student1 values(107,'张贴','男',7777,70,30,70,'四班','滨州',19)
insert into student1 values(108,'王一','女',8888,80,30,90,'一班','淄博',24)
insert into student1 values(109,'王毅','男',9999,80,60,70,'三班','烟台',26)
insert into student1 values(110,'李丽','女',11110,70,30,70,'二班','滨州',30)
go

--查询信息
--查询所有信息
select *from student1
--查询前三行信息
select top 3 *from student1
--查询一列信息
select name from student1
--查询两列信息
select name,banji from student1
--查询名字为王一的所有信息
select *from student1 where name='王一'
--查询名字为李丽的语文成绩
select yufen from student1 where name='李丽'
--查询名字为李丽和张思的语文成绩
select yufen from student1 where name in('李丽','张思')

--更改信息
--更改学号为107的年龄
update student1 set age=22 where code=107
select age from student1 where code=107

--删除信息
--删除名字为张贴的人的信息
delete from student1 where name='张贴'
select *from student1
insert into student1 values(107,'张贴','男',7777,70,30,70,'四班','滨州',19)

--模糊查询
--查询姓王的人的所有信息
select *from student1 where name like'王%'
--查询姓王的人的语数英成绩
select name, yufen as 语文成绩,shufen as 数学成绩,yingfen as 英语成绩 from student1 where name like'王%'
--查询年龄在20-30之间的人的信息
select *from student1 where age between 20 and 30
--查询地址是滨州或青岛的姓名
select name,dizhi from student1 where dizhi in('滨州','青岛')
--查询地址不是滨州、青岛的姓名
select name,dizhi from student1 where dizhi not in('滨州','青岛')
--查询不重名的人的信息
insert into student1 values(111,'张三','男',1111,80,30,70,'一班','淄博',18)
select distinct name from student1 
delete from student1 where code=111
--查询地址是滨州,年龄在20-30之间的人的信息
select *from student1 where dizhi='滨州'and age between 20 and 30

--排序
--语文升序
select *from student1 order by yufen 
--数学降序
select name,shufen from student1 order by shufen desc
--一班的语文降序
select *from student1 where banji='一班' order by shufen

--聚合函数
--平均数
select AVG(yufen) from student1
--计数
select COUNT(*) from student1
select count(distinct banji) from student1
--最大值
select MAX(shufen)from student1 where banji='一班'
--最小值
select Min(shufen)from student1 where banji='一班'
--求和
select sum(shufen)from student1 where banji='一班'

--分组
--班级分组
select banji from student1 group by banji
--每个班的语文平均分
select banji,AVG(yufen) from student1 group by banji
--每个班的语文大于50的人的个数
select banji,COUNT(*) from student1 where shufen>50 group by banji
--每个班的语文大于50的人的个数大于2个的班级
select banji,COUNT(*) from student1 where shufen>50 group by banji having COUNT(*)>0
--每个班的语文大于50的人的个数大于2个的班级,按个数降序排列
select banji,COUNT(*) from student1 where yingfen>50 group by banji having COUNT(*)>0 order by COUNT(*)

--数值函数
--绝对值
select abs(-9)
--四舍五入
select ROUND(3.14,1)
--平方
select SQUARE(2)
--开平方
select SQRT(4)
--取上限
select CEILING(3.14)
--取下限
select FLOOR(3.14)
--n次方
select POWER(4,3)
--转换数据类型
select CAST(1.23 as int)
select CONVERT(int,1.23)

--字符串函数
--字符串的拼接
select 'a'+'cc'+'ss'
--返回相似度0-4
select DIFFERENCE('asdfgh','asd')
--返回ASCII代码
select ASCII('a')
--将ASCII值转换为字符串
select CHAR(99)
--返回字符串的字符个数
select LEN('qwerty')
--去前空格
select LTRIM(' asd')
--去后空格
select RTRIM('asd ')
--替换
select REPLACE(name,'李丽','李丽丽') from student1 
--复制
select REPLICATE('ad',2)
--反转字符串
select REVERSE('asdf')
--将小数转为字符串
select STR(3.14,3,1)
--在字符串中插入字符串
select STUFF('asdf',2,0,'df')
--打空格
select SPACE(4)
--字符串中第一次出现的索引号
select CHARINDEX('a','dsaf')
--左取字符串
select LEFT('qwert',3)
--右取字符串
select right('qwert',3)
--转大写
select UPPER('asd')
--转小写 
select LOWER('ASD')

--日期函数
--@@DATEFIRST一周中的第一天, dw是星期几@@系统常量
SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'
--返回是星期几
select DATEPART(WEEKDAY,'2012-2-2')
select DATEPART(month,'2012-2-2')
select DATEPART(DAY,'2012-2-2')
--获取当前时间
SELECT GETDATE()
--获取更精确的时间
select SYSDATETIME()
--获取指定日期的年
select YEAR('2010-1-11')
select datename(YEAR,'2013-2-3')
--获取指定日期的月
select month('2010-1-11')
select datename(month,'2013-2-3')
--获取指定日期的日
select day('2010-1-11')
select datename(day,'2013-2-3')
--判断日期格式
select ISDATE('2012-3-33')
--计算两个日期的差值
select DATEDIFF(year,'2013-2-2','2015-3-3') 
--在指定日期上加年
select DATEADD(year,2,'2012-2-2')
--在指定日期上加月
select DATEADD(month,2,'2012-2-2')
--在指定日期上加日
select DATEADD(day,2,'2012-2-2')

SQL加、查、改、删、函数的更多相关文章

  1. SQL Server 2012 学习笔记3 增查改删

    现在举例几个"增查改删"的语句 select * from UserInfor --查找所有字段 select username,UserId from UserInfor -- ...

  2. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  3. ylb:创建数据库、表,对表的增查改删语句

    ylbtech-SQL Server:SQL Server-创建数据库.表,对表的增查改删语句 SQL Server 创建数据库.表,对表的增查改删语句. 1,ylb:创建数据库.表,对表的增查改删语 ...

  4. DOM树的增查改删总结

    DOM树的增查改删总结 摘要:对HTML DOM的操作是前端JavaScript编程时必备的技能,本文是我自己对DOM树操作的总结,主要是方法的罗列,原理性的讲述较少,适合大家用于理清思路或是温习 一 ...

  5. JS 数组, 对象的增查改删(多语法对比)

    数据结构横向对比, 增, 查, 改, 删 建议: 在用数据结构的时候, 优先考虑Map和Set(考虑数据的唯一性), 放弃传统的数组和Object, 特别是比较复杂的数据结构时 数组 Map与Arra ...

  6. mongodb 增查改删

    我们在  MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1  中学习了如果安装部署一个 MongoDB 如果没看到我的金玉良言的话,就重新打开一次客户端和服务端吧 本章我们 ...

  7. SQL增删查改语句

    一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> insert into sheet1 va ...

  8. JQuery--动画和DOM的增删查改常用函数总结

    jQuery的动画api animate jQuery设置动画 animate({属性集合},时间); animate({属性集合},时间,回调函数); animate({属性集合},时间,运动曲线, ...

  9. SQL增删查改注意的事项

    一.新增 1.增加的时候,bit字段要用“0,1”表示false,和true: 2.时间字段,用单引号包括,里面要遵循基本时间格式: 3,不能为标识列(自动编号列)插入数据(特殊情况下:set ide ...

  10. MongoDB的常用命令和增查改删

    数据库操作 Mongodb MySQL 查询库 show databases | show dbs show databases 选中库 use databaseName use databaseNa ...

随机推荐

  1. ViewPager切换动画

    http://blog.csdn.net/lmj623565791/article/details/38026503 http://www.cnblogs.com/tianzhijiexian/p/4 ...

  2. spring错误:<context:property-placeholder>:Could not resolve placeholder XXX in string value XXX

    spring同时集成redis和mongodb时遇到多个资源文件加载的问题 这两天平台中集成redis和mongodb遇到一个问题 单独集成redis和单独集成mongodb时都可以正常启动程序,但是 ...

  3. ckfinder的配置使用

    1.单纯的上传图片和预览图片 修改configasp中CheckAuthentication = true; 否则的话会报没有权限或修改配置错误 此时如果可以查看的话,单击图片应该是放大并且预览图片 ...

  4. Django下载中文名文件:

    Django下载中文名文件: from django.utils.http import urlquote from django.http import HttpResponse content = ...

  5. jQuery:find()及children()的区别

    1:children及find方法都用是用来获得element的子elements的,两者都不会返回 text node,就像大多数的jQuery方法一样. 2:children方法获得的仅仅是元素一 ...

  6. java 的数据类型

    java 的数据类型有基本类型和引用类型 java的类的关系:有继承,有依赖,有关联,聚合,组成.

  7. 常用正规js

    1,得到网页上的链接地址: string matchString = @"<a[^>]+href=\s*(?:'(?<href>[^']+)'|"" ...

  8. 菜鸟-手把手教你把Acegi应用到实际项目中(1.1)

    相信不少朋友们对于学习Acegi的过程是比较痛苦的,而且可能最初一个例子都没能真正运行起来.即使能运行起来,对于里面那么多的配置,更搞不清楚为什么要那么配,多配一个和少配一个究竟有什么区别? 最终头都 ...

  9. JavaScript对象的创建之使用json格式定义

    json: javascript simple object notation. json就是js的对象,但是它省去了xml中的标签,而是通过{}来完成对象的说明. 定义对象 var person = ...

  10. 将本地仓库托管到GitHub

    在初始化仓库之前,要确认ssh key是否正确 ssh -T git@github.com 正确的结果如下 Hi username! You've successfully authenticated ...