ORACLE常用命令

来源:互联网 发布:java nio 返回图片 编辑:程序博客网 时间:2024/06/06 04:05
 
        SET LINESIZE 300;    设置行高
 
  SET PAGESIZE 50;     设置每页显示的数目
 
  CONN SYSTEM/manager AS SYSDBA;   以SYSTEM登陆
  SHOW USER;           显示当前的用户
 
  SELECT * FROM tab;   显示当前数据库所有的表
 
  DESC 表名;            显示表的结构
 
  CLEAR SCR;           清除屏幕
 
 
 
  /                    上次查询
 
  字符串函数:

  REPLACE()            字符串替换             SELECT REPLACE('HELLO','L','X');
 
  UPPER()              将所有字母转换为大写     SELECT UPPER(ENAME) FROM EMP;
 
  LOWER()              将的有字母转换为小写     SELECT LOWER(ENAME) FROM EMP;
 
  INITCAP()            将所有首写字母转换为大小,其它字母为小写    SELECT INITCAP(ENAME) FROM EMP;
 
  CONCAT()             字符串相连            SELECT CONCAT('HELLO',' WORLD') FROM DUAL;
 
  SUBSTR()             截取字符串             SELECT SUBSTR('HELLO',1,3) FROM DUAL;
 
  LENGTH()             获得字符串的长度        SELECT LENGTH('HELLO') FROM DUAL;
 
 
 
  数值函数
 
  ROUND()              四舍五入     ROUND(789.536)---[790]      ROUND(789.536,2)---[789.54]
 
  TRUNC()              截断小数位    TRUNC(789.536)---[789]     TRUNC(789.536,2)---[789.53]
 
  MOD()                取模          SELECT MOD(10,3) FROM DUAL;---[1]
 
 
  转换函数
 
  TO_CHAR()           将数字转换成字符串    SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd') FROM DUAL;
 
  TO_NUMBER()         将字符串转换成数字    SELECT TO_NUMBER('2010-01-11') FROM DUAL;
 
  TO_DATE()           将字符串转换成日期    SELECT TO_DATE('2009-12-31','yyyy-mm-dd') FROM DUAL;
 
  通用函数
 
  NVL()               将一个指定的NULL变为指定的内容(计算Null值,必须使用NVL)     SELECT NVL(NULL,0) FROM DUAL;
 
  DECODE()
 
  常用数据类型:
 
  NUMBER(M)--INT    |  NUMBER(M,N)--FLOAT   M:表示整数   N:表示小数位数
 
  VARCHAR()   |   VARCHAR2()     表示字符串,有长度限制,为255字符
 
  DATE()                         表示日期类型
 
  CLOB                           表示大的对象(表示:文本数据 一般可以存放4G的文本)
 
  BLOB                           表示大的对象(表示:二进制数据 一般可以存放4G的文本 电影,歌曲,图片)
 
  日期函数
 
  SYSDATE              取出当前日期
 
  MONTHS_BETWEEN()     求出给定日期范围的月数
 
  ADD_MONTHS()         在指定的日期上加上指定的月数    SELECT TO_CHAR(ADD_MONTHS(SYSDATE,5),'yyyy-mm-dd') FROM DUAL;
 
  NEXT_DAY()           下一个的今天是哪一个日期
 
  LAST_DAY()           求出给定日期的最后一天日期
 
  创建表
 
  CREATE TABLE myemp AS SELECT * FROM emp      创建emp表的副本
 
  CREATE TABLE table_name(
 
  column_name1    DATA_TYPE   [DEFAULT]
 
  column_name2    DATA_TYPE   [DEFAULT]
 
  columb_name3    DATA_TYPE   [DEFAULT]
 
  );                                           创建新表
 
  删除表
 
  DROP TABLE table_name;                       删除表
 
  修改表
 
  ALTER TABLE table_name ADD (column_name DATA_TYPE DEFAULT);       添加列
 
  ALTER TABLE MODIFY(column_name DATA_TYPE DEFAULT);                修改列(类型长度只能增,不能少)
 
  RENAME oldTable TO newTable                  重命名表
 
  TRUNCATE TABLE table_name                    截断表(不产生日志)
 
  数据约束
 
  一、主键约束:
 
  1.PRIMARY KEY(系统分配约束)
 
  CREATE TABLE person(
 
  pid NUMBER(18) PRIMARY KEY,
 
  name VARCHAR2(20) NOT NULL
 
  );
 
  2.PRIMARY KEY(指定约束名称)
 
  CREATE TABLE person(
 
  pid NUMBER(18) PRIMARY KEY,
 
  name VARCHAR2(20) NOT NULL,
 
  CONSTRAINT person_id_pk PRIMARY KEY (pid)
 
  );
 
  ALTER TABLE person ADD CONSTRAINT person_pid_pk PRIMARY KEY (pid);      修改person表,为表添加person_pid_pk主键
 
  二、非空约束(NOT NULL)
 
  1.CREATE TABLE person(
 
  pid NUMBER(5),
 
  name VARCHAR2(20) NOT NULL,
 
  CONSTRAINT person_pid_pk PRIMARY KEY (pid)
 
  );
 
  2.ALTER TABLE person MODIFY(name VARCHAR2(20) NOT NULL);
 
三、唯一约束(UNIQUE)
 
  1.CREATE TABLE person(
 
  pid NUMBER(5),
 
  name VARCHAR2(20)  NOT NULL UNIQUE,
 
  );
 
  2.CREATE TABLE person(
 
  pid NUMBER(5),
 
  name VARCHAR2(20) NOT NULL UNIQUE,
 
  CONSTRAINT person_name_uk UNIQUE (name)
 
  );
 
  3.ALTER TABLE person ADD CONSTRAINT person_name_uk UNIQUE (name);       修改唯一约束