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. js 节流函数 throttle

    /* * 频率控制 返回函数连续调用时,fn 执行频率限定为每多少时间执行一次 * @param fn {function} 需要调用的函数 * @param delay {number} 延迟时间, ...

  2. eclipse快捷键使用

    Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键.1. [ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的 ...

  3. 手机端的各种默认样式比如 ios的按钮变灰色

    1.ios按钮变灰色,给按钮加样式: -webkit-appearance: none; 2.有圆角话 ; } 3.去除Chrome等浏览器文本框默认发光边框 input:focus, textare ...

  4. Celery 使用简介

    转自:http://liuzxc.github.io/blog/celery/ Celery 是一个简单.灵活且可靠的,处理大量消息的分布式系统,它是一个专注于实时处理的任务队列, 同时也支持任务调度 ...

  5. python连接hiveserver2

    sudo pip install pyhs2 网上找的例子: #!/usr/bin/env python # -*- coding: utf-8 -*- # hive util with hive s ...

  6. Hibernate——主键配置

    <id>元素中的<generator>用来为该持久化类的实例生成唯一的标识,hibernate提供了很多内置的实现. Increment:由hibernate自动递增生成标识符 ...

  7. OC基础(2)

    类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 *:first-child { margin-top: 0 !important; } body > *:last-c ...

  8. Android开发-API指南-<data>

    <data> 英文原文:http://developer.android.com/guide/topics/manifest/data-element.html 采集(更新)日期:2014 ...

  9. com学习(一)GUID 和 接口

    话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 E ...

  10. Gem5全系统模式下运行SPLASH-2 Benchmarks使用alpha ISA

    Steps to run the SPLASH-2 Benchmarks on M5 in full system mode using the alpha ISA. This Guide is ai ...