目录:

  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. oracle单表选择率(selectivity)——计算执行计划的基数

    CBO优化器是基于对当前经过特定测试的数据集中预期的行比率估计来计算基数的.此处的行数之比是一个数值,称为选择率(selectivity).得到选择率之后,将其与输入行数进行简单相乘既可得到基数. 在 ...

  2. CountDownLatch、CyclicBarrier、Semaphore 区别

    CountDownLatch.CyclicBarrier.Semaphore 区别: CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: Coun ...

  3. JUC原子类之 原子操作数据类型

    根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 数组类型: AtomicInteger ...

  4. dzzoffice协同办公平台与onlyoffice在线协作平台安装与部署

    1.安装dzzoffice协同办公平台 DzzOffice是一套开源办公套件,适用于企业.团队搭建自己的 类似“Google企业应用套件”.“微软Office365”的企业协同办公平台. 官网地址:h ...

  5. FQ:从入门到放弃(二)

    上次的FQ:从入门到放弃(一)介绍了XXNet的部署和基本使用.本文整理一些部署过程中出现的问题,都是这几天朋友们安装过程中出现的问题.如果覆盖不全,欢迎在博客下方评论,互相交流,互相学习. 不过首先 ...

  6. class<T>和 class<?>类型 有什么区别

    平时看java源代码的时候,如果碰到泛型的话,我想? T K V E这些是经常出现的,但是有时想不起来代表什么意思,今天整理下: ? 表示不确定的java类型. T 表示java类型. K V 分别代 ...

  7. 6-3-3ios自动化-数据驱动

    https://testerhome.com/topics/14247 #!/usr/bin/env python3 # coding:utf-8 from appium import webdriv ...

  8. CentOS 6.4 添加永久静态路由所有方法汇总(原创)

    转摘,原文章地址:http://blog.sina.com.cn/s/blog_828e50020101ern5.html 查看路由的命令route -n CentOS添加永久静态路由 在使用双网卡, ...

  9. xshell配置通过堡垒机直接登陆到内网机器

    在xshell中文件-->新建菜单,打开新建会话属性,填写堡垒机的IP端口和账号密码后,进入登录脚本 : 勾选"执行以下的期望和发送组合对(X) " (1)添加: 期望: 发 ...

  10. 【Python编程:从入门到实践】chapter10 文件和异常

    chapter10 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 with open("pi.txt") as file_object: contents = ...