ORACLE
经常用到:
1、取出互不相同的记录:SELECT DISTINCT mycolumn FROM mytable
2、排序查询结果:顺序 SELECT price FROM titles ORDER BY price
                倒序 SELECT price FROM titles ORDER BY price DESC
3、插入数据:INSERT INTO mytable (mycolumn) VALUES (‘some data’)
  @@identity  总是保存最后一次插入标识字段的值
4、删除记录:DELETE mytable WHERE first_column=’Delete Me’
5、更新记录:UPDATE mytable SET first_coumn=’Updated!’ WHERE second_column=’Update’
6、SUBSTR(ordered_item, 1, 2)-- 截取字符
7、修改表字段:ALTER TABLE MCCUS.MC_A_UP20ITEM
MODIFY(UPITEM5 VARCHAR2(200 BYTE));
8、如何使用 Oracle Round 函數 (四捨五入)
  select round(123.456, 0) from dual;回傳 123  select round(123.456, 1) from dual; 回傳 123.5
9从一个表建立另一个表
Create table rain_table as Select city,precipitation From trouble;
Create table rain_table as Select city,precipitation From trouble Where 1=2;
建立表结构,不带数据
数据类型
1、字符型    char      范围  最大2000个字节 定长
            char(10)  '张三' 后添空格6个把10个字节补满  '张三      '

varchar2  范围  最大4000个字节 变长
            varchar2(10)  '张三'      在数据库中'张三'
               
            大对象 字符型大对象 >4000字节 最大4G
            CLOB (Character Large OBject)   
   
2、数字    number    范围  10的-38次方 到10的38次方         
可以表示小数 也可以表示整数 
            number(4)  最大表示4位整数  -9999 到 9999
            number(5,2)  表示5位有效数字 2位小数的 一个小数  -999.99 到 999.99
                 
3、日期    date      包含年月日和时分秒  7个字节
4、图片    blob      二进制大对象    图像/声音  4G
如何建表
1、一般建表
学生表student
  create table student( --学生表
          xh number(4), --学号
          xm varchar2(10), --姓名
          sex char(2), --性别
          birthday date, --日期
          sal number(7,2) --奖学金
        );
  班级class
  create table class( --班级表
          classid number(2), --班级编号
          cname varchar2(20) --班级名字
      );
字符串长度测量函数
从一个表建立另一个表
Create table rain_table as Select city,precipitation From trouble; --带数据一起建立
Create table rain_table as Select city,precipitation From trouble Where 1=2;
--建立表结构,不带数据
2、添加字段(学生所在班级classid)
  alter table student add (classid number(2));
3、修改字段的长度
  alter table student modify (xm varchar2(12)) ;
4、修改字段的类型(不能有记录的)
  alter table student modify (xh varchar2(5));
5、删除一个字段
  alter table student drop column sal;
6、删除表
  drop table student;
7、表的名字修改
  rename student to stu;
8、字段如何改名字
  --先删除
    a)alter table student drop column sal;       
  --再添加
    b)alter table student add (salary number(7,2));
如何插入数据
1、插入数据 insert语句
  所有字段都插入
  insert into student values ('A001','张三','男','01-5月-05',10);
  ORACLE中默认的日期格式'DD-MON-YY'
   
  ====================================
改日期的默认格式
  alter session set nls_date_format = 'yyyy-mm-dd';
  insert into student values ('A002','MIKE','男','1905-05-06',10);
alter session set nls_date_format = 'dd-mon-yy'; --恢复ORACLE默认格式
  察看日期的格式
  set linesize 1000
  select * from nls_session_parameters where parameter='NLS_DATE_FORMAT';
  永久设置日期格式:
改注册表oracle/HOME0 加字符串NLS_DATE_FORMAT 值yyyy-mm-dd
  =====================================
2、部分字段插入
  insert into student(xh,xm,sex) values ('A003','JOHN','女');
  插入空值
  insert into student(xh,xm,sex,birthday) values ('A004','MARTIN','男',null);
修改update
1、改一个字段 
  update student set sex='女' where xh='A001';
2、改多个字段
  update student set sex='男', birthday='1980-04-01' where xh='A001';
3、改为空值 (修改为空时=null)
  update student set birthday=null where xh='A001';
  把生日为空的人的班级编号改为20(条件中的空是is null / is not null)
  update student set classid=20 where birthday is null;-- 错误的没有达到要求
  update student set classid=20 where birthday=null;
  update student set classid=20 where xm='null'; --不表示空值 表示xm是null的字符串
   
删除 delete
1、delete from student;  删除所有记录,表结构还在,写日志,可以恢复的,速度慢
2、drop table student;  删除表的结构和数据
3、delete from student where xh='A001';  删除一条记录
4、truncate table student; 删除表中的所有记录,表结构还在,不写日志,无法回删除的记录,速度快
查询 select
1、select * from student;
2、select xh,xm,sex from student;   
3、select * from student where xh like 'A%1'; %任意多个字符
4、select * from student where xh like 'A__1'; _1个字符
5、select * from student where xh like '%A%';
select * from student where xh like 'A%';
select * from student where xh like '%A';                             
select * from student where xh = 'A%';
                       
6、select * from student order by birthday ;  升序 (order by birthday asc;)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。