仅以这篇文章作为自己知识的回顾,工作刚刚满半年。最近一直在写程序,测试程序。对于这段时间归纳为基础知识边做边学,程序bug越测越多。对于基础操作的来说数据库无疑是重点,来写写oracle的知识小结。
(1).oracle 语句的操作
1.创建表 根据旧表创建新表,create newtable as select * from oldtable where 1=2 ; (设置1=2,这个是个不成立的等式,这样可以避免拷贝数据到新表。只用表结构就可以了。)
2.创建序列,create sequence seq_table_id minvalue 1 maxvalue 99999999999999 start with 1 increment by 1 nocache;
3.varchar2() 存放的字段,例如varchar2(8),存放8个英文字符。存放中文字符:utf-8时,一个中文占三个字节;ZHS16GBK,一个中文占2个字节。所以一般可以存放4个中文。而nvarchar2(8),中英文都可放8个。在java读取长度时,转换为string后length的值,一个汉字,一个英文,标点,空格都为1.
4.oracle 分组查询,并且(distinct)去除重复的,select *,count(distinct tagid) from table group by tagid order by tagid desc,可以再查询,left join table /(select * from ***) on a.id=b.id 一类的写法,左连接或者右连接
5.统计人数查询,比如(decode())男女人数: select sum(decode(sex,'男',1)) man ,sum(decode(sex,'女',1)) woman from (select * from usertable)
2.java 基础,读写数据流
public static void main(String[] args) { doReadFile(); doWriteFile(); } /** * 读入数据 */ public static void doReadFile(){ String file = "d:/write.txt"; try { //根据文件来读取实现读取流,File FileInputStream input = new FileInputStream(new File(file)); InputStreamReader in = new InputStreamReader(input); BufferedReader reader = new BufferedReader(in); String str=""; while((str=reader.readLine())!=null){ System.out.println(str); } reader.close(); in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 往文件写入数据 */ public static void doWriteFile(){ String file = "d:/write.txt"; File wfile = new File(file); try { String str="cjplife"; //后面加入true,就是保留原有内容,在后面插入新的内容 FileOutputStream os = new FileOutputStream(wfile,true); os.write(str.getBytes()); os.close(); } catch (IOException e) { e.printStackTrace(); } }
2.采用jdbc查询,并且读取查询的数据,由于list,强制转换存放的是map集合,list循环跟iterator循环一样的
String sql="select * from table where status = 1"; List list = this.getJdbcTemplate().queryForList(sql); Iterator it = list.iterator(); while(it.hasNext()){ Map rs = (Map) it.next(); String name = rs.get("nickname").toString(); String school = rs.get("school").toString(); } //或者使用 for(int i=0;i<list.size();i++){ Map rs = (Map)list.get(i); String name = rs.get("nickname").toString(); String school = rs.get("school").toString(); }