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. 使用Nlog记录日志到数据库

    Nlog是一个很不错的.NET日志记录组件,它可以将日志输出到控件台,保存到文本,也可以很方便的记录到数据库中. 可以在这里下载Nlog:http://nlog-project.org/ 这里分享一下 ...

  2. [ActionScript 3.0] AS3.0根据当天日期获取明天,后天...日期

    const dayTime:Number=24*3600*1000//一天毫秒数 var date:Date = new Date(); trace("今天:"+ date.toD ...

  3. stat 查看文件修改时间

    Ø  访问时间(accesstime):读取一次文件的内容,该时间便会更新 Ø  修改时间(modifytime):对文件内容修改一次便会更新该时间. Ø  改变时间(changetime):更改文件 ...

  4. AM3359之U-boot及kernel编译

    我用的PC主机是ubuntu12.04 LST 32位系统给出官方软件下载地址:TI官网SDK包06.00版本下载:http://software-dl.ti.com/sitara_linux/esd ...

  5. sort函数CCF

    题是比较水的啦,但是好久没有用sort函数啦,有点生疏^...^ #include<stdio.h> #include<string.h> #include<iostre ...

  6. 初探appium之appium的使用

    上一篇中已经讲了python+appium的环境搭建.这里简单的讲一下appium的使用. 我也是第一次使用appium,看了教程问了人.知道appium可以通过模拟也可以连接上手机使用.本篇中,先使 ...

  7. BP神经网络学习笔记_附源代码

    BP神经网络基本原理: 误差逆传播(back propagation, BP)算法是一种计算单个权值变化引起网络性能变化的较为简单的方法.由于BP算法过程包含从输出节点开始,反向地向第一隐含层(即最接 ...

  8. .NET本质论之三(应用程序对象 )

    2.1 请求的处理参数------上下文对象HttpContext   现在,请求已经到达了ASP.NET服务器,为了处理请求,ASP.NET在服务器上创建了HttpRequest类型的对象以表示请求 ...

  9. Response.Write页面跳转

    一.<a>标签 <a href=”test.aspx”></a> 这是最常见的一种转向方法 二.HyperLink控件   1. Asp.net 服务器端控件 属性 ...

  10. 【Spring 1】Spring简介

    一.Spring简介 首先,Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开 ...