1. 查询当前用户所有的表

select * from user_tables;

2. 查询当前用户能访问的表

select * from all_tables;

3. 获取表字段

 select * from user_tab_columns where table_name='用户表';
select * from all_tab_columns where table_name='用户表';
select * from dba_tab_columns where table_name='用户表';

4. 日期范围查询的两种实现方式

oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来通过一个实例来介绍这一过程。假设要查询2011-05-02到2011-05-30之间的数据。

to_date方式

select * from tablename where time >= to_date('2011-05-02','yyyy-mm-dd') and 
time <= to_date('2011-05-30','yyyy-mm-dd') ;

运行的结果是:可以显示05-02的数据,但是不能显示05-30的数据。

所有可以得出结论:

1)如果想显示05-30的数据可以<to_date('2011-05-31','yyyy-mm-dd'),这样就能显示30号的了。

2)如果想要显示05-30的数据可以<=to_date('2011-05-30 23:59:59 999','yyyy-mm-dd hh24:mi:ss')也是可以查出来的。

to_char方式:

select * from tablename where to_char(time,'yyyy-mm-dd') >= '2011-05-02'  and 
to_char(time,'yyyy-mm-dd') <= '2011-05-30';

运行的结果是:可以同时显示05-02和05-30的数据。

5. 模糊查询-like后面的通配符

关于like后面的条件,oracle提供了四种匹配模式:

1)%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

select * from user where name like '%三%';

将会把name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

如果需要找出name中既有“三”又有“猫”的记录,请使用and条件

select * from user where name like '%三%' and name like '%猫%';

2)_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

select * from user where name like '_三_';

只找出“唐三藏”这样name为三个字且中间一个字是“三”的记录。

select * from user where name like '三__';

只找出“三脚猫”这样name为三个字且第一个字是“三”的记录。

3)regexp_like:正则表达式函数查询。

select * from user where card_number like '1____60';
select * from user where regexp_like(card_number, '1....60');

可以找出card_number中以1开头60结束并且查询为7位的记录,其中card_number字段属性为字符串。

但如果card_number属性为数字,使用like就不是很好实现了,可以使用如下方式:

select * from user where regexp_like(card_number, '1[0-9]{4}60');

也可以通过使用字符集的方式实现:

select * from user where regexp_like(card_number, '1[[:digit:]]{4}60');

查询card_number中不是纯数字的记录:

select * from user where not regexp_like(card_number, '^[[:digit:]]+$');

查询card_number中不包含任何数字的记录:

select * from user where regexp_like(card_number, '^[^[:digit:]]+$');

查询以12或者1b开头的记录,不区分大小写:

select * from user where regexp_like(card_number, '^1[2b]','i');

查询以12或者1b开头的记录,区分大小写:

select * from user where regexp_like(card_number, '^1[2B]');

查询数据中包含空白的记录:

select * from user where regexp_like(card_number, '[[:space:]]');

查询所有包含小写字母或者数字的记录:

select * from user where regexp_like(card_number, '^([a-z]+|[0-9]+)$');

查询任何包含标点符号的记录:

select * from user where regexp_like(card_number, '[[:punct:]]');

6. 修改字段类型和长度

alter table user modify(name varchar(255));

7. 插入时插入UUID

select sys_guid() from dual;
insert into user(id) values(sys_guid());

Oracle数据库常用命令(持续更新)的更多相关文章

  1. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

  2. Oracle数据库——常用命令(用户管理、数据库导入导出)

    --==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...

  3. Oracle数据库常用命令整理

    转至:https://blog.csdn.net/creativemobile/article/details/8982164 1监听 (1)启动监听 lsnrctl start (2)停止监听  l ...

  4. Appium无线连接安卓终端方法 + ADB Shell常用命令(持续更新)

    ADB无线连接手机的方法1)手机与PC有线相连 - 检查是否连接正常: adb devices - 执行以下命令:adb tcpip 5555 # 当前9001       - 成功提示:restar ...

  5. Linux常用命令——持续更新(2018-05-09)

    此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...

  6. Linux常用命令(持续更新中)

    cd 目录名 :进入某个目录 ls :列出当前目录的内容 locate 文件名/目录名:寻找文件.目录 find 目录名1 -name 文件名/目录名2 :在目录1中寻找目录2 whereis  文件 ...

  7. Oracle数据库常用命令记录

    1.Sql建表 CREATE TABLE AAABBBCCCDDD( ID ) primary key, AAAAAAAA ) not NULL, BBBBBBBB ), CCCCCCCC ), DD ...

  8. docker-compose常用命令(持续更新...)

    build 构建或重建服务 help 命令帮助 kill 杀掉容器 logs 显示容器的输出内容 port 打印绑定的开放端口 ps 显示容器 pull 拉取服务镜像 restart 重启服务 rm ...

  9. Oracle数据库常用命令

    导出表数据 exp user/pwd@dbname file=filename.dmp tables=tbl_name rows=y indexes=n triggers=n grants=n 导入表 ...

随机推荐

  1. [Code+#4]最短路

    考虑xor运算的自反性 我们可以直接枚举二进制位异或来进行转移 这样边数大约是\(n \log n\)级别的 总复杂度\(\Theta((n\log n+m)\log n)\) #include&qu ...

  2. 修改Nginx 伪静态Rewrite规则 安装Chevereto

    Chevereto 是目前最为强大的 PHP 图床系统,通过它可部署多用户公开或私有的图片存储服务,现在 Chevereto 出了免费的版本,小伙伴可以围观一下. https://github.com ...

  3. python 增加矩阵行列和维数

    python 增加矩阵行列和维数 方法1 np.r_ np.c_ import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) b = np.a ...

  4. 第2课 android机器人的翻页相册

    一.准备:准备像素大小相同的图片若干张.(本例中的图片,统一像素大小为310*310,请保存至本机电脑并按顺序命名为1.jpg至6.jpg) 二.启动与登陆: 启动谷歌浏览器,并在地址栏里输入loca ...

  5. ViewDragHelper详解(侧滑栏)

    1.Drag拖拽:ViewDrag拖拽视图,拖拽控件:ViewDragHelper拖拽视图助手,拖拽操作类.利用ViewDragHelper类可以实现很多绚丽的效果,比如:拖拽删除,拖拽排序,侧滑栏等 ...

  6. [翻译] LazyFadeInView 渐入显示text文本

    LazyFadeInView 渐入显示text文本 https://github.com/itouch2/LazyFadeInView LazyFadeInView is a cool way to ...

  7. 企业级NGINX的重定向rewrite

    vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name www.ftl.com; rewrite ^/(.*) htt ...

  8. Matlab基础 数组

    一.引用 数组元素引用,下标从1开始 如y(3)表示第3个元素 二.扩充 扩充2*3矩阵为3*3矩阵,并且给a(3,3)赋值为9 三.提取 数组按列存储 全下标变化为单下标: sub2ind((m,n ...

  9. MapReduce Design Patterns(chapter 1)(一)

    Chapter 1.Design Patterns and MapReduce MapReduce 是一种运行于成百上千台机器上的处理数据的框架,目前被google,Hadoop等多家公司或社区广泛使 ...

  10. linux下的线程学习(二)

    #include <iostream> #include <pthread.h> void cleanup(void *arg) { printf("cleanup: ...