目录:

  sql语句

  sql命令语句

  关键字

   

sql语句

SELECT * FROM V$reserved_words;--查询oracle预留关键字

SELECT * FROM V$version;--查询oracle版本

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;  --查看被锁的表名

SELECT * FROM user_col_comments WHERE table_name='****'; --查询表的列 ,表名区分大小写

select  * from user_tab_comments;----查询所有表

select  *  from user_tab_comments  where Table_Name='****';----查询某一个表的名称及备注

-- 创建主键  

ALTER TABLE USER ADD CONSTRAINTS pk_user PRIMARY KEY(user_id);
ALTER TABLE USER DROP CONSTRAINTS pk_user;

--列修改

  • alter table [tablename] modify [column] varchar2(100);
  • alter table [tablename] add [column] varchar2(100);
  • alter table [tablename] rename column [column1] to [column2] ;
  • alter table [tablename] modify [columnname] null;  允许为null值修改
  • alter table  [tablename] add column `MODIFY_TIME`  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '当前更新时间';   // 添加更新时间会对数据的操作直接更新时间,无需传入。

--关闭和开启触发器(用于导入数据时使用)

alter table user disable all triggers;

alter table user enable all triggers;

--加注释

COMMENT ON TABLE USER IS '用户表';
COMMENT ON COLUMN USER.USER_ID IS '主键';

sql命令语句

  • prompt
  • set feedback off/on
  • set define off/on

  prompt :

  提示的意思:

    prompt   helloworld

  将在执行台打出helloworld

  set feedback off/on(默认)

    用于设置是否有回执,我们在插入表数据时会有 1 rows inserted....,设置为off则不显示,加快执行速度。

  set define off/on(默认)

  在SQL*Plus中默认的"&"表示替代变量,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。
  这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量。
  set define off 关闭替代变量。
  set define $ 用$代替&为替代常量。

关键字

  • DISTINCT
  • WITH
  • UNION
  • FUNCITON_CONCAT(str1,str2,str3)

WITH:

With

A as(select * from  a where a.name='denny'),

B as(select * from b where b.name='zhang')

select A.*,B.* from A,B where A.name = B.name;

在plsql某些版本使用with查询不到结果,有人说是plsql的bug。在Mysql中没有With的用法,其它数据库都有。With多用于复杂查询语句的嵌套或者是查询结果union用。

UNION:

SELECT emp_id,emp_name FROM emp WHERE emp_name = '张三'
UNION
SELECT emp_id personID,emp_name oaName FROM emp WHERE emp_name = '李四'
UNION ALL
SELECT emp_id person,emp_name oo FROM emp WHERE emp_name = '张三';

union中的字段数和类型要求一致,最后的结果的字段名使用第一个select的字段名UNION默认会剔除重复数据,且对结果进行排序,而UNION ALL 不做此项处理,仅对结果进行罗列。因此从性能上union all 要优于union。

FUNCITON_CONCAT(str1,str2,str3):

concat中不能存在null值,不然所有结果都为null.

DISTINCT:

DISTINCT 只能剔除所有要查询的列中一样的数据,不能查询单个列重复数据。

例: select distinct user_id,user_name,user_type from user;   user_id,user_name,user_type3个列的数据都同时相同的数据才会被剔除,而非单个列中存在重复数据。

同时DISTINCT要放置在所有查询列之前,而不能放在列中,因为它是对所有列起作用,而非单个列。

select distinct user_id,user_name  √

select  user_id,distinct user_name  ×

select count(distinct user_name) from user; √

explain:

用于查看sql的执行情况,可以分析判断sql的执行性能,用于调优。

常用Sql语句,及注意事项的更多相关文章

  1. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  2. Oracle数据库常用Sql语句大全

    一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSE ...

  3. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  4. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  5. 50个常用SQL语句

    50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表  S#学号,主键 Course(C#,Cname,T#) 课程表          C#课程号,主键 SC(S#, ...

  6. oracle sqlplus及常用sql语句

    常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...

  7. 常用SQL语句(增删查改、合并统计、模糊搜索)

    转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...

  8. oracle 常用sql语句

    oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

  9. Sqlite常用sql语句

    sqlite常用sql语句 --返回UTC时间 select CURRENT_TIMESTAMP; --返回本地时间 select datetime(CURRENT_TIMESTAMP,'localt ...

  10. 常用SQL语句集合

    一.数据定义 1.创建新数据库:CREATE DATABASE database_name2.创建新表:CREATE TABLE table_name (column_name datatype,co ...

随机推荐

  1. day33 python学习 多线程

    线程的概念 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位. 三 线程与进程的区别 1 1.线程的创建开销小(无需申请内存空间或者资源),创建线程的 ...

  2. hasura graphql-engine v1.0.0-alpha26 版本新功能

    hasura 发布了graphql-engine v1.0.0-alpha26 版本,有一些破坏的变动,以及方便的新特性 破坏性变动 order_by 从 order_by: id_asc 为 ord ...

  3. stenciljs 学习四 组件装饰器

    stenciljs 可以方便的构建交互式组件 支持以下装饰器 component prop watch state method element component 说明 component 包含ta ...

  4. vulcanjs 核心架构概念

    基于包的架构 为了保证系统的灵活以及可扩展,vulcanjs 使用基于包的架构设计,每一个功能都是一个包,可以方便的添加,移除 扩展.而不是修改 vulcan 的设计哲学是进行系统扩展,而不是编辑修改 ...

  5. VdcEye manager

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011652271/article/details/24878335 VdcEye manager ...

  6. nnlog模块使用

    安利一个好用的写日志模块,python自带的logging模块理解起来比较费劲,直接pip install nnlog即可 使用例子如下代码:   1 2 3 4 5 6 7 8 9 10 11 12 ...

  7. Queque 方法对比和分类

    添加类:方法 public boolean add(E e)      增加一个元索                     如果队列已满,则抛出一个IIIegaISlabEepeplian异常 bo ...

  8. Vs2008应用程序升级为vs2012

    Vs2008应用程序升级为vs2012 编写人:左丘文 2015-5-21 近来一直有想法,想将开发环境升级 vs2008到vs2012,在此做个小结,将自己碰到的一系统问题,分享出来,以供参考.有兴 ...

  9. bzoj1196 公路修建问题

    Description OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织 ...

  10. java-appium-527 WebDriver协议&针对控件的操作

    1.WebDriver协议 https://www.w3.org/TR/webdriver/#list-of-endpoints 1.1查看当前所有的session情况 http://127.0.0. ...