20170708_review:

1.oracle:
  对表的操作
    使用命令行建立一张表:create table 表名 (列名 列名的类型 primarty key, ....);
    alter table 表名 add constraints pk_表名_列名 primary key(需要建立的主键列名);
    删除一张表:drop table 表名;
    truncate(清空表中的数据,但是表不被删除)
    修改一张表:alter table 表名(....);
    查询一张表:desc 表名;

  对数据的操作:
    查询:select * from 表名;
    删除:delete from 表名;
    修改:update 表名 set 列名=列名对应的值, ....;----> update teacher set id = 1, name = '张三' where id=4;
    新增:insert into 表名 (列名1,列名2,列名3,....) values(列名对应的值);(values中的值必须要列名顺序对应)
    insert into teacher (id,name,age) values(1,'zhangsan', 29);

  多表查询(简单):
    select * from 表名1,表名2;----->select * from 表名1 t1,表名2 t2 where t1.列名 = 'xxxx';(select * from teacher t, students s where                        t.id=5/ where t.id = s.id)------> 把需要显示的数据查询出来
               select t.name, s.name, t.age, .... from teacher t, students s;----->针对列取一个别名(as),as通常情况下可以省略
     select t.name teacher_name, t.age teacher_age, s.name student_name from teacher, students;

  子查询:
    in(范围):select * from teacher where id in(1,2,3,4,5,...);

(前提条件是:查询出姓名为张三的学生id,通过这个id找到id相等的老师相关信息)and(并且)/or(或者): select * from teacher where                  id = (select id from students where name = 'zhangsan');------>年龄必须为35岁
               select * from teacher where id = (select id from students where name = 'zhangsan') and age = 35;---->
               或者年龄为35岁select * from teacher where id = (select id from students where name = 'zhangsan') or age = 35;

    any(任何一个进行匹配) select * from teacher where id > any(select id from students);
    all(所有进行匹配) select * from teacher where id > all (select id from students);

  函数:
    group by(分组--->group by后的字段,必须要出现在select关键字后面,也就是必须要查询出来): select age from teacher group by                  age;--->group by一般配合count来使用(分组后,每一组数据条数) select name, count(1) counts from teacher group by name;---->分                组函数可以配合where使用,但是必须要放在where关键字后面
               select name from teacher where id > 2 group by name;---->分组以后再进行过滤(having),必须要放在group by的后面,就相当于                 where关键字 select name from teacher group by name having id >3;

  聚合函数:
    max,sum,min,**avg(平均值)

    max:select max(salary) max_salary from teacher where id > 2;
    min:select min(salary) max_salary from teacher where id > 2;
    sum:select sum(salary) sum_salary from teacher;
    avg(数据类型必须要为number):select avg(age) from teacher;---->如果使用平均值会出现小数的存在
    ceil(向上取整),floor(向下取整),round(四舍五入) select round(avg(age)) from teacher;---->
    如果age列中的数据有null值(nvl(param1,param2)) select round(avg(nvl(age,0))) from teacher;

  日期函数:SimeDateFormat:
    sysdate:系统当前日期(服务器的当前日期)

    to_date(,'yyyy-mm-dd hh:mi:ss'):hh代表12小时制---->to_date(,'yyyy-mm-dd 24hh:mi:ss'):hh就代表了24小时制
    把日期格式的字符串转换为日期格式

    to_char(,'yyyy-mm-dd hh:mi:ss'):
    把日期转换为日期格式的字符串

    *order by(给查询出的数据结果集进行排序,默认是升须asc):
    select * from teacher order by age desc;(降序)
    如果order by和where语句连用-->order by必须要放到where的后面
    如果order by和 group by连用--->order by必须要放到group by的后面
    三个一起连用:where group by (having) order by;

  连接查询
    full join(全连接):不以任何一张表为基准,把所有数据全部查询出

    **inner join(内连接,inner可以省略):只有两张表数据对应的时候才查询出,如果一方没有数据就不显示

    **left join(左连接):以左表为基准关联右表,如果左表没有数据就不显示,如果右表没有数据就显示为一行null

    **right join(右连接):和左连接原理一样,只是以右表为基准

    cross join(交叉连接):<====>select * from teacher, students;

    natural join(自然连接,两张表的列名最多只能有一个相等):和全连接类似;

  表之间的关系:(hibernate相关):
    一对一:两张表一一对应(身份证号和个人);
    一对多:其中一张表的一条数据,可以对应另外一张表的多条数据(用户和订单);
    多对多(存在三张表):两张表相互映射,关系表既没有主键又没有外键(列:分别放的是两张表的id)(商品和订单)

  事务:
    transaction
    是把oracle数据一致性转换为另一种数据一致性
    只有增删改才会开启事务

  状态
    提交:把改变的数据永久保存
    回滚:撤销,把数据恢复到未改变前的状态

  分页:
    oracle:
    teacher为例:(以每5条数据为一页)
    select t2.*, rownum as rm2 from (select t1.*, rownum as rm1 from (select * from teacher) t1 where rownum <=5n) t2 where t2.rm1                    >= 5n-4; sql中的5代表每页显示的条数,n代表当前的页数,4代表每页显示的条数-1
    mysql:
    limit:有两个参数,第一个参数代表了当前页面的第一条数据的下标(如果是第一页从0开始),第二个参数代表每页显示的条数

  jdbc:
    // 所有都要java.sql的包
    // 导入驱动jar
    // 加载驱动(反射技术)
    Class.forName("oralce.jdbc.driver.OracleDriver");
    // 获取连接
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost/127.0.0.1:1521:orcl","数据库的用户名","密码");
    // 获取预编译的preparedstatement

    PreparedStatement ps = conn.prepareStatement("select * from teacher");
    // 执行sql语句
    // 如果是查询
    ResultSet rs = ps.executeQuery();
    / 遍历结果集
    // 定义一个List集合来接收查询出的结果集
    List<Teacher> list = new ArrayList<Teacher>();
    while(rs.next()) {
    // 创建一个封装的Teacher对象
    Teahcer teacher = new Teacher();
    teacher.setId(rs.getInt("id"));
    teacher.setName(rs.getString("name"));
    teacher.setAge(rs.getString("age"));
    list.add(teacher);
    }
    // 如果为查询,就可以不释放资源,也就是可以不调用close方法

    // 如果是增删改
    // 返回的int类型就代表了受影响的行数
    String sql = "insert into teacher(id, name, age) values(?,?,?)";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setString(1,"1");
    rs.setString(2,"zhangsan");
    ps.setInt(3, 32);
    int result = ps.executeUpdate();
    if(result > 0) {
    //操作成功
    } else {
    // 操作失败
    }
    // 释放资源顺序:释放结果集--->然后释放预编译的statement--->最后释放连接
    if(rs != null) {

    }
    if(ps != null) {

    }
    if(conn != null) {

    }

  jdbc的封装:
    提取出不常修改的参数:
    private static fianl String DRIVER="";
    private static final String URL = "";
    private static final String USERNAME= "";
    private static final String PASSWORD = "";
    private Connection conn = null;
    private PreparedStatement ps = null;
    public ResultSet rs = null;

    // 所有都要java.sql的包
    // 导入驱动jar
    // 加载驱动(反射技术)

    // 开始封装
    //获取连接的方法
    private void getConnection() {
    Class.forName(DRIVER);
    // 获取连接
    conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);// 给conn赋值
    }

   

   // 释放资源的方法
    public void closeAll() {
    if(rs != null) {

    }
    if(ps != null) {

    }
    if(conn != null) {

    }
    }

   

   // 如果是查询
    public ResultSet executeQuery(String sql, String[] pramas) {
    getConnection();
    // 获取预编译的preparedstatement
    select * from teacher where id < ? and age = ?;
    ps = conn.prepareStatement(sql);
    if(pramas != null && pramas.length > 0) {
    ps.setString(i+1, params[i]);
    }
    }
    // 执行提交sql的时候,一定要放在逻辑判断的外部
    rs = ps.executeQuery();
    return rs;

    }
    //一定不能调用closeAll方法

    // 如果为增删改
    public int executeUpdate(String sql, String[] pramas) {
    getConnection();
    // 获取预编译的preparedstatement
    select * from teacher where id < ? and age = ?;
    ps = conn.prepareStatement(sql);
    if(pramas != null && pramas.length > 0) {
    for(int i = 0; i < params.length; i++) {
    ps.setString(i+1, params[i]);
    }
    }
    // 执行提交sql的时候,一定要放在逻辑判断的外部
    int result = ps.executeUpdate();
    return result;
    // 释放资源
    closeAll();
    }

  mysql和oracle的区别:
    在mysql中如果一个列设置为不能为null,依然可以存入null的值,oracle则不行
    在mysql中如果是字符串,既可以使用单引号也可以使用双引号,在oracle中只能使用单引号

2.HTML:
    form表单:
      action属性:跳转到某个页面,某一个Java类中
      input:
      type属性:text(文本),password(密码),submit(提交),button(按钮),checkbox(多选框),radio(单选框),reset(重置)
      checkbox:多选框,最常用的地方兴趣爱好
      radio:单选框(配置name属性,把name的值相等分为一组)
      select:下拉列表
      option:每一个下拉选项:<option value="传递的时候需要的值">option所需要显示的值</option>
   

   table(表格):
      thead(设置一个标题):
      tr(代表了每一行)-->th(标题内容)
      tbody(设置了标题对应的内容):
      tr--->td(内容显示的数据)
      <table>
      <thead>
      <tr>
      <th></th>
      </tr>
      </thead>

      <tbody>
      <tr>
      <td></td>
      </tr>
      </tbody>
      </table>

  

    ul,ol(列表):
      ul:是无序的列表
      ol:是有序的列表
      <ul>
      <li></li>
      </ul>

      <h1~6></h1~6>标题
      <p></p>段落
      <span></span>
      <img src="" alt="如果图片加载失败,就显示alt中的内容" />
      <a href=""></a>链接标签,href:跳转的地址,跳转到页面,也能跳转到Java类
      <div></div>块,最常用到的是盒子模型-->div+css布局(至今最流行的布局方式)
      <br />换行
      <hr />实线的分割线

3.css:
      color设置一个字体颜色
      background背景
      border边框
      list-style-type:设置一个列表的样式none,circle,....去掉原点

      a:hover:鼠标悬浮的时候会显示的一种状态
      a:active:当点击的时候显示的一种状态
      a:visited:当点击过后显示的一种状态
      a:link:默认第一次的显示状态
      执行顺序:a:link--->a:hover---->a:visited---->a:active  错或   a:link--->a:visited---->a:hover---->a:active  
      如果顺序错乱,就达不到想实现的效果

      text-decoration:none;去掉下划线,underline加上下划线,through-line:贯穿线
      text-align:设置文本 center:居中
      position:定位 fixed:定位(定位在显示器的某一个固定位置),absolute:绝对定位,active:相对定位
      display:none元素隐藏(不占据任何位置),visibility:hidden:元素隐藏(占据页面的一定位置)
      display:inline-block;强制元素不换行
      display:block;强制元素换行

    float(浮动):
      left,right左浮动和右浮动
      margin:外边距(两个相邻元素之间的距离)
      padding:内边距(一个元素包含另一个元素,这两个元素之间的距离(填充))

  选择器:
      id(每个页面只能出现一次,唯一性),class,标签
      id='div1':#div1
      class="div2":.div2
      div标签:div

    

    子元素选择器:
      div p {

      }
      div>p {

      }

    相邻元素选择器:(只能选中和他相邻的后面第一个元素)
      div+p {

      }

    后续元素选择器:(选中所有相邻的元素)
      div~p {

      }

    布局:
      div+css
      <div id="total">
      <div id="header"></div>
      <div id="content"></div>
      <div id="footer"></div>
      </div>

  框架:
    iframe:
      <iframe src="top.html"></iframe>--->把top.html导入到当前页面
      frameboeder:0/no;去掉边框
      width:定义一个宽度
      height:定义一个高度

   

     frameset:不能在body标签中
      <frameset rows="100,*(自适应)">
      <frame src="top.html" name="起了一个别名" />
      <frameset cols="300,*">
      <frame src="left.html" name="left" />
      <frame src="right.html" name="right" />
      </frameset>

      <a href="student_manage.html" target="right"><li>学生管理</li></a>

java:Review(Oracle-HTML-CSS)的更多相关文章

  1. Java Review (一、Java开发环境)

    @ 目录 Java程序运行机制 高级语言运行机制 编译型语言 解释型语言 Java运行机制和JVM 编写 编译 运行 Java开发工具包 JDK JRE JDK.JRE与JVM HelloWord 编 ...

  2. Java备份Oracle数据库

    Java备份Oracle数据库 Java线程.Process.ProcessBuilder 2010 年 6 月 20 日 文章内容描述了使用Java执行外部Oracle导出命令备份数据库功能的示例, ...

  3. Java操作Oracle

    public class DBCon { // 数据库驱动对象 public static final String DRIVER = "oracle.jdbc.driver.OracleD ...

  4. java向oracle数据库中插入当前时间

    public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date(); ...

  5. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  6. java连接oracle数据库的实现代码

    package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...

  7. Java调用Oracle存储Package

    Oracle的包Package中可以有很多存储,可通过该包的总调入口在java中直接调用. //java调用oracle的package代码 public boolean cal() throws j ...

  8. Oracle - java创建Oracle 的触发器

    Oracle - java创建Oracle 的触发器 今天碰到这个问题,遇到点问题,到这来 总结一下解决的办法, 需求,为一个用户当中的表增加一个自动增长列,我还没有学Oracle 的这部分,只是简单 ...

  9. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  10. Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)

    转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...

随机推荐

  1. mysql向表中某字段前后追加一段字符串 concat(), trim(), ltrim(), rtrim(), repeat()

    1.mysql向表中某字段后面追加一段字符串:update table_name set field=CONCAT(field, '分隔符', str);//'分隔符',可以为空,也可以省略updat ...

  2. 第三次java测验1

    设计思想: 输入一个字符串,然后将字符串倒置,比较字符串第i位上的字符与倒数第i位上的字符是否相同,如果都相同则字符串是回文:否则字符串不是回文. 源代码: package java3; import ...

  3. C++ Primer 第 5 版 习题参考答案

    从 5 月初 - 8 月 16 日,每天基本都在啃 C++ 的语法.起初直接看C++ Primer 中文版(第 5 版),发现后边的章节看着很吃力.所以就转而看了清华大学郑莉老师和李超老师的视频C++ ...

  4. django前戏

    Django前戏: 1.软件开发: C/S 客户端与服务端 HTTP(超文本传输协议):协议的由来,如同sql语句由来一样.为了开发使用方便所形成的统一接口统一规范 学习Django之前我们先来了解下 ...

  5. 使用ajax上传图片,并且使用canvas实现出上传进度效果

    前端代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> &l ...

  6. Burpsuite的Intruder模块发现敏感目录

    提前配置好浏览器的代理设置,并且成功访问了目标地址(这里是http://192.168.146.133/WackoPicko) 1.在burpsuite的proxy栏目中,找到对WackoPicko路 ...

  7. 数组遍历 forEach 方法

    数组的遍历 遍历数组,将数组中的所有元素都取出来. 使用for 循环执行数组的索引(length-1)相同的次数. var arr=["1", "5", &qu ...

  8. Editplus注册码生成代码

    function generate_editplus_regcode(username) { var list = [0,49345,49537,320,49921,960,640,49729,506 ...

  9. java实现大文件上传

    文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...

  10. 【WC2016】论战捆竹竿

    已经快三周了啊--终于把挖的坑填了-- 首先显然是把除了自身的所有border拿出来,即做 \(\left\{ n - b_1, n - b_2, \dots, n - b_k, n \right\} ...