Oracle 指令总结

数据库

装载数据库:Startup open

卸载数据库:Shutdown immediate

服务

数据库服务:OracleService+服务名,必须启动。

监听服务:OracleOraDb10g_home1TNSListener,客户端才能连接到服务器的基础。

用户

默认用户:sys、system、scott(内含数据库)等。

创建用户:Create user用户名identified by口令[account unlock|lock];

授权用户:grant connect/resource/dba to用户名;

权限回收:revoke connect/resource/dba from用户名;

修改密码:alter user用户名identified by新口令;

修改状态:alter user用户名account unlock/lock;

删除用户:drop user用户名 ;

登陆

windows系统win+rcmd进入命令提示符;

Sqlplus用户名/口令as sysdba;

Conn用户名/口令[as sysdba];

创建表格:create table表名(列名类型,列名2类型,…);

创建约束:alter table表名add constraint关联表名primary key(列名);

Alter table表名add constraint关联表名check(列名运算符or/and列名运算符);

非空:is not null,空值(NULL值)不等于0或者空格,空值是指未赋值、未知或不可用的值。主键一般定义成非空not null。

查询:SELECT*|列名|表达式FROM表名WHERE条件ORDER BY列名;

升序:ORDER BY asc;

降序:ORDER BY desc;

根据结果集创表:CREATE TABLE表名AS SELECT语句where条件;

插入数值:INSERT INTO表名(列名1,列名2……)VALUES(值1,值2…);

插入列名:alter table表名add(列名,类型);

删除列名:alter table表名drop(列名,类型);

提交:commit;

插入结果集:INSERT INTO表SELECT子句;要求两表对应列数据类型一致。

更新数据:UPDATE表名SET列名1=值,列名2=值…… WHERE条件

删除数据:DELETE FROM表名WHERE条件;可部分恢复,删除速度较慢。

一次性删除:TRUNCATE TABLE表名;不可恢复,删除速度快。

操作符

算数运算:+、-、*、/,除号(/)的结果是浮点数。求余运算只能借助函数:MOD(x,y):返回x除以y的余数。

关系运算符:=、<、>、!=

逻辑运算符:AND、OR、NOT

字符串连接操作符:双竖线(||),Oracle中字符串可以用单引号,也可以用双引号,在别名中存在空格时,必须用双引号。在表名、列名时用双引号。

消除重复行:SELECTDISTINCT列名FROM表格;

IN操作:在Where子句中可以使用IN操作符来查询其列值在指定的列表中的行。在Where子句中可以使用IN操作符来查询其列值在指定的列表中的行。

BETWEEN…AND…:在WHERE子句中,可以使用BETWEEN操作符来查询列值包含在指定区间内的行。BWTWEEN操作所指定的范围也包括边界。

LIKE模糊查询:语法是LIKE'字符串'[ESCAPE'字符']

通配符:字符匹配操作可以使用通配符“%”和“_”:

%:表示零个或者多个任意字符。

_:代表一个任意字符。

集合运算

集合运算包括:

INTERSECT(交集),返回两个查询共有的记录。

UNION ALL(并集),返回各个查询的所有记录,包括重复记录。

UNION(并集),返回各个查询的所有记录,不包括重复记录。

MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

连接查询

内连接> SELECT e.ENAME,e.JOB,e.SAL,d.DNAME

2FROM emp e,dept d

3WHERE e.deptno=d.deptno

4AND e.SAL>2000;

左连接>left join...on...包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。

右连接>right join...on..即包含所有的右边表中的记录甚至

是左边表中没有和它匹配的记录。

ROWID:ROWID伪列返回的就是该行的物理地址。不能进行增删改操作。

SQL> SELECT ROWID,ENAME FROM EMP WHERE SAL>2000;

ROWNUM:ROWNUM伪列可以限制查询结果集中返回的行数。

数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令等。

数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令、SELECT … FOR UPDATE(查询)等。

数据查询语言(DQL),包括基本查询语句、Order By子句、Group By子句等。

事务控制语言(TCL),包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。

数据控制语言(DCL),GRANT(授权)命令、REVOKE(撤销)命令。

create table students (id int primary key auto_increment , name char(10),age int(3));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,072评论 0 19
  • ORA-13000: 维数超出范围 ORA-13001: 维数不匹配错误 ORA-13002: 指定的级别超出范围...
    thinkact阅读 19,608评论 1 5
  • 總是以不從眾的創意角度去看待孩子的一舉一動,這次徐玫怡帶著小六的兒子走上自學這條路...... 下學期,我已經幫兒...
    人间行者高嘉佑阅读 153评论 2 0
  • 参考 完整SQLite 网址:http://www.sqlite.org/lang.html 我喜欢用实例说要点 ...
    AAup阅读 282评论 0 0
  • 已经持续加班很久,久到我已经模糊了今天是周几。 每天朝八晚十的生活透支着我对工作的每一分热情,工作三四年,已经不在...
    xlslh7阅读 227评论 0 1