Java基本概念-常用sql语句

来源:互联网 发布:linux 源码安装 卸载 编辑:程序博客网 时间:2024/06/04 19:12
一 查询所有列
 
 语法结构:select * from 表名
 
二 查询指定列
 
 1 语法结构:select stunsme,age(所需查的指定列) from 表名
 
 2 查询多个指定列时,用逗号隔开
 
三 去掉重复值
 
 1 语法结构:select distinct stuname from 表名
 
 2 在可能出现重复的属性前加关键字distinct
 
四 查询语句中使用算式表示
 
 1 语法结构:select name,comm+(-,*,/)5000 from 表名
 
 2 所查询的属性值增加5000
 
五 查询语句使用列的别名
 
 1 语法结构:select stuname as 姓名 from 表名
 
 2 使用as关键字给属性设置别名,as可以省略
 
六 限制查询结果
 
 1 语法结构: select stuname from 表名 where score between 60 and  90
 
 2 使用关键字where加其他符号限制结果查询
 
 3 可以与where搭配使用来限制查询结果的有:
   比较操作符(<、>、>=、<=)               where  classid=1
   between...and
   in/or                                    where classid in(1,3)/where classid =1 or classid=3
   and                                      where classid =1 and classid=3
   is not null/ is null(不能用“==”)     where stuname isnull
 
七 like与通配符的使用(模糊查询)
 
  1 语法结构:select stuname from 表名 where stuname like ‘通配符+字符串’     
 
  2 通配符有:%:表示任意多个字符  where stuname like ‘%王’(最后一个字为王的任意长字符串)
                   _:表示任意一个字符  where stuname like   ‘_王’(第二个字为王长度为二的字符串)  
 
八 查询结果排序
 
 1 语法结构:select stuname from 表名 order by stuname desc
 
 2 使用关键字 order by 实现排序:asc(默认):升序     
                                 desc:降序
 
 3 多行排序 order by score asc,stuname desc   
  (1)当排序的第一个条件相等时,实现第二个条件的排序;
  (2)当排序的第一个条件不相等时  ,不实现第二个条件的排序
  (3)多个排序之间用逗号隔开
 
 4 关键字limit:可以实现分页查询 order by stuname desc limit 0,5(从0取,取五条)
 
九 聚合函数
 
 1 count(1):计算查询的行数(记录数)
 
  语法结构:select count(*) from 表名
 
 2 avg():求所指定属性的平均值
 
  语法结构:select avg(score) from 表名
 
 3 sum();求所指定属性的总数
 
  语法结构:select sum(score) from 表名
 
 4 max();求所指定属性的最大值
 
  语法结构:select max(score) from 表名
 
 5 min();求所指定属性的最小值
 
  语法结构:select min(score) from 表名
 
十 分组的实现
 
 1 语法结构:GROUP BY classid
 
 2 分组时,select后的列要么聚合,要么分组
 
 3 sql语句的执行顺序:where是紧挨着from的,最后执行select语句
 
 4 关键字having:分组所要进行的条件过滤:GROUP BY classid HAVING AVG(score)>=60   
 
 5 where和having的区别:两者都表示条件过滤,前者在分组前执行,后者在分组后执行
 
十一 连接查询
 
 1 笛卡尔积:FROM student,classinfo WHERE student.classid=classinfo.classid  
 
 2 内连接:FROM student INNER JOIN classinfo ON student.classid=classinfo.classid(on表示连接条件)
 
 3 外连接:(1)左连接:FROM student LEFT JOIN classinfo ON student.classid=classinfo.classid(on表示连接条件)
                        join左侧的表所有信息全部显示 ,右表中没有与左表匹配的显示null   
 
           (2)右连接:FROM student right JOIN classinfo ON student.classid=classinfo.classid(on表示连接条件)
                        join右侧的表所有信息全部显示 ,左表中没有与右表匹配的显示null  
 
           (3)全连接:FROM student full JOIN classinfo ON student.classid=classinfo.classid(on表示连接条件)
                        join左右两侧的表所有信息全部显示 ,右表中没有与左表匹配的显示null,右表中没有与左表匹配的显示null  
 
*****************************************************jdbc**************************************************************************************
 
一 jdbc:(Java data base connectivity) Java数据库连接
 
二 jdbc操作数据库的原理:在Java中拼写sql语句,然后将sql语句发送到数据库中执行,数据库将执行的结果反馈给Java程序
    
三 Java程序驱动数据库
 
 1 Connection接口:让Java程序与数据库连通
 
 2 Statement接口:向数据库中发送sql语句,并执行,反馈
 
 3 ResultSet接口:表示查询的结果
 
四 连接数据库的步骤
 
 1 加载驱动:Class.forName("org.gjt.mm.mysql.Driver");
 
 2 创建连接对象Connection:connection=DriverManager.getConnection ("jdbc:mysql://localhost:3306/jdbc(库名)?user=root&password=root");
 
 3 准备sql语句:String sql=“”;
 
 4 创建执行sql语句对象Statement state=connection.createStatement();
 
 5 向数据库中发送sql语句并执行,获得反馈结果ResultSet(ResultSet某一时刻只能读取一行数据,默认情况指向查询结果集的表头上,rs指向哪一行就能够读取该行的数据,未指向的行数据是无法读取的):executeUpdate()/excuteQuery();
 
 6 关闭资源(超重要,放在finally块中):rs.close();state.close();connection.close();(关闭的顺序固定)
                    
                    
            
                
                        
 
 
0 0
原创粉丝点击