常用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语句,及注意事项的更多相关文章
- oracle常用SQL语句(汇总版)
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
- Oracle数据库常用Sql语句大全
一,数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSE ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- 50个常用SQL语句
50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表 S#学号,主键 Course(C#,Cname,T#) 课程表 C#课程号,主键 SC(S#, ...
- oracle sqlplus及常用sql语句
常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...
- 常用SQL语句(增删查改、合并统计、模糊搜索)
转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...
- oracle 常用sql语句
oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...
- Sqlite常用sql语句
sqlite常用sql语句 --返回UTC时间 select CURRENT_TIMESTAMP; --返回本地时间 select datetime(CURRENT_TIMESTAMP,'localt ...
- 常用SQL语句集合
一.数据定义 1.创建新数据库:CREATE DATABASE database_name2.创建新表:CREATE TABLE table_name (column_name datatype,co ...
随机推荐
- 【转】每天一个linux命令(10):cat 命令
原文网址:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内 ...
- spring cloud 之 Eureka 知识点
Eureka原理 当服务消费者想要调用服务提供者的API时,首先会在注册中心中查询当前可用的实例的网络地址(也可能是定时查询可用实例,本地缓存好可用服务列表),然后再使用客户端负载均衡,命中到其中一个 ...
- 关于事件委托的整理 ,另附bind,live,delegate,on区别
随着DOM结构的复杂化和Ajax等动态脚本技术的运用导致如今的js界里最火热的一项技术应该是‘事件委托(event delegation)’了,什么是事件委托呢?小七给你娓娓道来,说白了就是想给子元素 ...
- Eclipse相对路径
Eclipse将java源文件存于src文件夹,而编译生成的class文件存于bin目录下,故以下代码输出的结果为false public class FileTest { public static ...
- 大快hadoop安装包下载与平台监控参数说明
前阶段用了差不多两周的时间把DKhadoop的运行环境搭建以及安装的各个操作都介绍了一遍.关于DKhadoop安装包下载也只是顺带说了一下,但好像大快搜索的服务器在更新,新的下载页面还不好用!有好些朋 ...
- Maven 生成项目站点
Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...
- C/C++基础----顺序容器
通常没有特别的原因,用vector. list和forward_list有额外的内存开销,如果有很多小元素,不要使用. 如果只在读取输入时需要在容器中间位置插入元素,随后需要随机访问. 1确定是否真正 ...
- Oracle学习操作(3)
一.if条件语句 set serverout on; ; v ):='world'; begin dbms_output.put_line('hello'||n||v); end; / hello1w ...
- app定位器带xpath的 uiautomatorviewer
参考文档:http://blog.csdn.net/kaka1121/article/details/53301517 在写脚本的过程中,总是遇到标签没有ID或者name等类似的唯一识别属性,为了能识 ...
- HSSF NPOI 颜色
using System; using System.IO; using System.Windows.Forms; using NPOI.HSSF.UserModel; using NPOI.SS. ...