zoukankan      html  css  js  c++  java
  • 插入信息,模糊查询,聚合函数,时间函数,排序,字符串函数,数学函数,求个数,球最大

    --使用昨天创建好的lianxi0425的数据库
    --1.创建一个学生信息表xinxi
    --列名分别为:
    --code(int) not null
    --name(varchar(50))      not null
    --birth(varchar(50))    not null   
    --sex(char(10))    not null
    --score(decimal(18,2))
    --banji(varchar(20))        not null   
    --创建表格
    use lianxi0425
    go
    create table xinxi
    (
     code int not null,
     name varchar(50) not null,
     birth varchar(50) not null,
     sex   char(10)  not null,
     score  decimal(18,2) not null,
     banji  varchar(20)  not null,
    )
    go
    
    
    
    --插入信息:
    --插入十个人的信息,插入班级时要求有两个班级
    --创建一班数据
    insert into xinxi values(101,'张三','1990年3月2日','',86,'一班')
    insert into xinxi values(102,'王丽','1991年5月5日','',95,'一班')
    insert into xinxi values(103,'王五','1990年10月3日','',86,'一班')
    insert into xinxi values(104,'李四','1992年11月11日','',89,'一班')
    insert into xinxi values(105,'张红','1990年9月5日','',80,'一班')
    
    --创建二班数据
    insert into xinxi values(201,'赵六','1990年4月2日','',94,'二班')
    insert into xinxi values(202,'赵红','1991年6月6日','',95,'二班')
    insert into xinxi values(203,'马七','1990年5月9日','',86,'二班')
    insert into xinxi values(204,'刘九','1992年12月20日','',78,'二班')
    insert into xinxi values(205,'马丽','1990年7月5日','',92,'二班')
    --1)查询全部
    select *from xinxi
    --2)查询一列(姓名)
    select  name from xinxi
    --3)查询多个列(姓名、性别、生日)
    select name,sex,birth from xinxi
    --4)根据条件查询一行(code=102)
    select * from xinxi where code=102
    --5)根据条件查找一个数据(code为102的姓名)
    select name from xinxi where code =102
    --6)根据条件查找多个数据(code为102的姓名性别)
    select name , sex from xinxi where code=102
    --7)插入一条数据(自己的信息)
    insert into xinxi values(206,'张全蛋','1989年3月3日','',60,'二班')
    --8)更改code为102的学生的生日为1990-1-1
    update xinxi set birth='1990年1月1日' where code=102
    --9)删除code为205的学生的数据
    delete from xinxi where code=205
    
    --查询所有分数在90分以上的
    select * from xinxi where score between 90 and 100
    select * from xinxi where score>90
    
    --模糊查询  用% 表示
    --%可以表示任意的字符,不管长度如何
    --like     像
    --查看所有姓赵的
    select * from xinxi where name like '赵%'
    select * from xinxi where name like '%四'
    --下划线表示此位置只有一个完整字符
    --查看姓李的并且名字只有两个字
    select * from xinxi where name like '李_'
    
    --分数从小到大排出来   后缀为asc   默认不写就是升序
    select * from xinxi order by score
    --降序        后缀为desc
    select * from xinxi order by score desc
    
    --查看分数排名前三的人员的所有信息
    select top 3 * from xinxi order by score desc
    
    
    
    --聚合函数
    --AVG()    求平均数
    --求平均分数        as表示列名显示为***
    select AVG(score) as 平均分 from xinxi
    --查询一班的平均分
    select AVG(score) as 平均分 from xinxi where banji='一班'
    
    --Count   求个数
    select COUNT(*) from xinxi
    --查询姓王的人有几个
    select COUNT(*) from xinxi where name like '王%'
    
    --MAX  求最大
    select MAX(score) from xinxi where banji='二班'
    --MIN  求最小
    
    --SUM   求总和
    select SUM(score) from xinxi where banji = '一班'
    
    --group by 分组
    select banji from xinxi group by banji
    --分组之后看看每个班级的平均分
    select banji , AVG(score) as 平均分,COUNT(*) as 人数 from xinxi group by banji
    --having     后面只允许跟聚合函数
    select banji ,AVG(score) as 平均分 from xinxi where score>85 group by banji having COUNT(*)>3
    
    
    --select   作用   查询
    select 7+19
    
    --数学函数
    --ABS    绝对值
    select ABS(-44)
    --ceiling    上线
    select CEILING(3.14)
    --floor     下线
    select FLOOR(3.14)
    --POWER     谁得几次方
    select POWER(6,4)
    --ROUND      四舍五入,逗号后边表示小数点后有几位
    select ROUND(44.444,0)
    --SQRT    平方根
    select SQRT(4)
    --square     2次方
    select SQUARE(4)
    
    
    --字符串函数
    --ASCII            将字符转化为数值
    select ASCII('a')
    select ASCII(name) from xinxi
    --CHAR            将数值转化为字符
    select CHAR(97)
    select CHAR(score) from xinxi
    --CHARINDEX     查看此字符串首次出现的位置
    select CHARINDEX('efg','abcdefghijklmn')
    
    --left    从左侧截取多少个
    select LEFT('abcdefg',3)
    --right    从右截取几个
    select RIGHT('abcdefg',3)
    --LEN    查看字符串的长度,前面的空格算,后面的不算
    select LEN('     abc     ')
    
    
    --时间日期函数
    SET DATEFIRST 1
    SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'
    SELECT GETDATE()--获取当前时间
    select SYSDATETIME()--获取更精确的系统时间
  • 相关阅读:
    MBG逆向工程报错:generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver
    抽取的文件上传类如果注入到容器中??
    使用阿里云OSS,上传图片时报错:java.lang.ClassNotFoundException:org.apache.http.ssl.TrustStrategy
    如何在Eclipse下查看JDK源代码
    mvc架构
    eclipse各版本介绍
    关于mysql MYISAM引擎的锁问题
    忘记mysq rootl密码
    mysql主从
    tomcat启动报错No UserDatabase component found under key UserDatabase
  • 原文地址:https://www.cnblogs.com/zhangdemin/p/5570549.html
Copyright © 2011-2022 走看看