oracle的基本命令,Oracle基本命令

SET LINESIZE 300;    设置行高  SET PAGESIZE 50;     设置每页显示的数目  CONN SYSTEM/manager AS SYSDBA;   以SYSTEM登陆  SHOW USER;           显示当前的用户  SELECT * FROM tab;   显示当前数据库所有的表  DESC 表名;            显示表的结构  CLEAR SCR;           清除屏幕  /                    上次查询  字符串函数:  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;  REPLACE()            字符串替换             SELECT REPLACE('HELLO','L','X');  数值函数  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]  日期函数  SYSDATE              取出当前日期  MONTHS_BETWEEN()     求出给定日期范围的月数  ADD_MONTHS()         在指定的日期上加上指定的月数    SELECT TO_CHAR(ADD_MONTHS(SYSDATE,5),'yyyy-mm-dd') FROM DUAL;  NEXT_DAY()           下一个的今天是哪一个日期  LAST_DAY()           求出给定日期的最后一天日期  转换函数  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的文本 电影,歌曲,图片)  创建表  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);       修改唯一约束  四、检查约束(CHECK)  1.CREATE TABLE person(  pid NUMBER(5),  name VARCHAR2(20) NOT NULL UNIQUE,  age NUMBER(2) NOT NULL CHECK(age BETWEEN 0 AND 100),  sex VARCHAR2(2) NOT NULL DEFAULT '男' CHECK(sex IN('男','女'))  );  2.CREATE TABLE person(  pid NUMBER(5),  name VARCHAR2(20) NOT NULL UNIQUE,  age NUMBER(2) NOT NULL,  sex VARCHAR2(2) NOT NULL DEFAULT '男',  CONSTRAINT person_age_ck CHECK(age BETWEEN 0 AND 100),  CONSTRAINT person_sex_ck  CHECK(sex IN('男','女'))  );  3.ALTER TABLE person ADD CONSTRAINT person_age_ck CHECK(age BETWEEN 0 AND 100);  ALTER TABLE person ADD CONSTRAINT person_sex_ck CHECK(sex IN('男','女'));  五、主-外键约束(FOREIGN KEY)  1.CREATE TABLE book(  bid NUMBER(3) NOT NULL,  person_id NUMBER(5) NOT NULL,  name VARCHAR2(50) NOT NULL,  price NUMBER(5,2) NOT NULL,  CONSTRAINT person_book_personid_fk FOREIGN KEY (price) REFERENCES person(pid) ON DELETE CASCADE  );  六、删除约束  ALTER TABLE table_name DROP CONSTRAINT constraint_name     根据提供的table_name表删除constraint_name约束  ROWNUM      Oracle每个表中都会有一个ROWNUM列  视图管理:  CREATE VIEW view_name AS SELECT * FROM emp;         创建视图  DROP VIEW view_name                                 删除视图  CREATE OR REPLACE VIEW view_name AS SELECT …       创建或替换视图  CREATE OR REPLACE VIEW view_name AS SELECT …  WITH CHECK OPTION  不能更新创建视图时列的条件  WITH READ ONLY 只准许视图能读  序列管理:  CREATE SEQUENCE myseq;  INCREMENT BY 2 指定步长             CREATE SEQUENCE myseq INCREMENT BY 2;     步长为:2  START WITH  0  指定起始位置  MAXVALUE 10    指定最大值  CYCLE          while  DROP SEQUENCE myseq;    删除序列  同义词:  CREATE SYNONYM 同义词名称 FOR 用户名。表名称;       创建同义词  CREATE SYNONYM emp FOR SCOTT.emp;  DROP SYNONYM emp;  用户管理:  创建用户:  CREATE USER 用户名 IDENTIFIED BY 密码        创建用户和密码  CREATE USER lixing IDENTIFIED BY lixing        创建用户和密码  用户授权:  GRANT 权限1,权限2…… TO 用户名                   给用户授权  GRANT CREATE SESSION TO lixing;                  为lixing用户创建session权限  GRANT CONNECT,RESOURCE TO lixing;                为lixing用户赋CONNECT RESOURCE权限  GRANT SELECT,DELETE,UPDATE ON scott.emp TO lixing;      把scott.emp表的增、删、改的权限赋给lixing用户  REVOKE SELECT,DELETE,UPDATE ON scott.emp FROM lixing;        回收scott.emp表赋给用户lixing的权限  修改用户:  ALTER USER 用户名 IDENTIFIED BY 新密码;           修改密码  ALTER USER lixing IDENTIFIED BY newlixing;      修改用户lixing密码为newlixing  ALTER USER 用户名 PASSWORD EXPIRE;                用户第一次登陆要求修改密码  ALTER USER lixing PASSWORD EXPIRE;               要求用户第一次登陆必须修改密码  ALTER USER lixing ACCOUNT LOCK;                  锁定用户lixing  ALTER USER lixing ACCOUNT UNLOCK;                解除锁定用户  数据备份与还原  数据库备份:exp  数据库还原:imp

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值