一、表与用户介绍

oracle安装完成后默认会有很多用户,大致分为2类用户:一类是必需的帐户,一类是存储各种应用的帐户,默认密码如下:

oracle自带的也会有很多默认表存在:

二、创建用户、创建表空间、授权、建表的完整过程

登录sqlplus:sqlplus / as sysdba
用scott用户以sysdba的身份登录oracle:conn scott/tiger as sysdba;
创建用户:create user wzx identified by 123456;

修改用户的密码:alter user wzx identified by wzx123456;

默认情况下用户创建好后系统会默认给该用户分配一个表空间(users)查看一下所有用户所在的表空间:select username,default_tablespace from dba_users;

一般在开发情况下,我们当然不会使用用户的默认表空间,所以这时我们需要创建一个表空间:create tablespace ts_wzx datafile 'e:\wzxoracle_data.dbf' size 200M;

注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便.

查看字符集:select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

创建好表空间,还需要将表空间分配给用户:alter user wzx default tablespace ts_wzx;

修改后可以通过查询用户所在的表空间:select username,default_tablespace from dba_users;

给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限:grant create session,create table,create view,create sequence,unlimited tablespace to wzx;

给用户分配了权限之后我们就可以用wzx用户来登录了:conn wzx/123456;

登录之后我们也可以来查询用户所具有的权限:select *from session_privs;

删除用户:drop user wzx cascade;

显示当前用户:show user;

三、创建表

创建新表:

create table B
(id int primary key,
name char(200) not null,
phone number(11) unique,
class varchar(10)
);

创建表:create table a (id int,name char(10) default 'aaa');

插入数据:insert into a values(1,'abc');

更新数据:update B set NAME='wzx' where id=1

查询用户下所有表名:select * from user_tab_comments;

彻底删除表:drop table HM_TABLE purge; commit;

查看所有表空间:select tablespace_name from dba_tablespaces;

查看数据库所有用户:select username from dba_users;

查看所有用户:select * from all_users order by username desc;

查询用户下所有字段名:select * from user_col_comments;

查看所有用户详细信息:select * from dba_users;
查看当前登录用户详细信息:select * from user_users;

查看用户或系统角色:select * from dba_sys_privs;
查看用户系统权限:select * from user_sys_privs;
查看用户对象权限:select * from user_tab_privs;

刷新共享池:alter system flush shared_pool;

查看某个用户下的所有表:select * from all_tables where owner='WZX';

对当前登录用户下的表进行排序:select table_name from tabs order by table_name desc;

查看所有表空间:select tablespace_name from dba_tablespaces;

查看当前用户下的所有表:select table_name from tabs;

查看当前登录用户下的所有表:select table_name from user_tables;

查看表结构:select dbms_metadata.get_ddl('TABLE','A') from dual;

查看表结构:select dbms_metadata.get_ddl('TABLE','A') from dual;执行完上面这条语句你可能只是看到整个建表语句的一部分,因此我们在执行命令的时候可以加上下面的语句:

SET LONG 3000

SET PAGESIZE 0

select dbms_metadata.get_ddl('TABLE','A') from dual;

查看oracle单个数据表包含的索引:select * from user_indexes where table_name=upper('table_name');

根据索引名查看索引包含的字段:select * from user_ind_columns where index_name = 'INDEXS_NAME';

创建备份数据表:creact table wzxnewstu as select * from wzxstu;

添加列:  alter table wzxaa add (name varchar2(100),code varchar(20));

删除列:alter table wzxaa drop (name,code)

表重命名: rename table wzxaanew to wzxaaold;

注:oracle表字段类型说明:

varcha2 ----0-4000,可变长度
char() ----0-2000,固定长度,用空格在数据的右边补到固定长度
number(6,2) ---6位整数、2位小数
number(2) --2位整数
clob ---txt文本
blob ---图片、视频、声音等转换过来的二进制对象
date ---sysdate

添加表注释:学生信息表  :comment on table STUINFO is '学生信息表';

两个表存在字段一样,复制数据:insert into  新表 select from  旧表;

全部数据与结构:select into 新表  from 旧表;

结构: select into 新表 from 旧表 where 1=2;

显示用户名下所有表;select * from all_tables where owner='WZX';

显示当前登录用户名下的所有表:select table_name from tabs;

显示当前登录用户名下的所有表:select table_name from user_tables;

显示当前登录用户名下的所有表:select table_name from user_tables;

删除普通表,并未真正删除表,只是把该表放在回收站中:drop table A;

删除带约束的表:drop table tb_date_test cascade constraints;

四、常见问题

1、ora-00955:名称已由现有对象使用

原因:命名重复

解决办法:在尝试刷新共享池alter system flush shared_pool;没用后,原来的表没用的话,就先删掉。原来的表有用,本次创建,你就换个表名。

 

oracle 基础SQL语句 版本5.7.29的更多相关文章

  1. Mysql Navicate 基础操作与SQL语句 版本5.7.29

    SQL数据的增删改查:此部分所有SQL语句在navicat中与mysql命令行执行效果一样,只是mysql服务端在命令行执行,而navicat只是在客户端的图形化打开操作. 一.进入数据库 .连接数据 ...

  2. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  3. Oracle 基础 —SQL语句优化的途径

    一:SQL语句的优化途径 1.选择合适的Oracle优化器 (1).RBO 基于规则进行优化的优化器   --Oracle 10G 后被抛掉 (2).CBO基于成本(CPU 和 内存的占用率)优化的优 ...

  4. oracle 基础SQL语句 增删改

    一.SQL操作 查询已创建的数据库:SELECT datname FROM pg_database; 创建数据库:CREATE DATABASE wzxdb; 删除数据库:DROP DATABASE ...

  5. oracle 基础sql语句

    修改date日期时间: update T2_FOODS_STORAGE_IN set create_time =to_date('2020-01-15 12:30:20','yyyy-mm-dd hh ...

  6. Oracle和SQL语句的优化策略(基础篇)

    转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...

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

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

  8. MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...

  9. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

随机推荐

  1. Sqli-Labs less13-16

    less-13 首先,输入用户名和密码,发现只有成功和失败两种显示,没有数据回显: 然后我们抓包拿到数据: 我们通过上述观察,已经知道这是典型的盲注,可以采用布尔盲注或者时间盲注. 构造注入语句:un ...

  2. STM32—串口通讯详解

    串口通讯目录 物理层 协议层 USART简介 开发板与上位机的连接 代码讲解: 一.初始化结构体 二.NVIC配置中断优先级 三.USART配置函数讲解 四.传输数据的函数: 1.发送一个字节 2.发 ...

  3. Anaconda Pycharm 是怎么个事儿?

    前言 许多人学习Python的经历可能很相似,写程序没有问题,最后却被各种环境困扰. 不论你是Python小白,还是学习Python有一段时间了.都可以认真的看一下ヾ(≧▽≦*)o 这篇文章让你对An ...

  4. c#创建windows服务入门教程实例

    用c#中创建一个windows服务非常简单,与windows服务相关的类都在System.ServiceProcess命名空间下. 每个服务都需要继承自ServiceBase类,并重写相应的启动.暂停 ...

  5. mysql版本:'for the right syntax to use near 'identified by 'password' with grant option'

    查询mysql具体版本 SELECT @@VERSION 问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化: 1064 - You have an error in your SQL ...

  6. 解析和遍历一个HTML文档

    如何解析一个HTML文档: String html = "<html><head><title>First parse</title>< ...

  7. netty系列之:自建客户端和HTTP服务器交互

    目录 简介 使用客户端构建请求 accept-encoding server解析HTTP请求 总结 简介 上一篇文章,我们搭建了一个支持中文的HTTP服务器,并且能够从浏览器访问,并获取到相应的结果. ...

  8. ASP.NET真分页_接前篇引用AspNetPager.dll进行数据分页

    一.前端准备工作 1.之前我写到过<Asp.net中引用AspNetPager.dll进行数据分页>  这种分页方式只能在前台将数据分页,而每次点击查询时对目标数据库还是全查询,这样不仅会 ...

  9. C# - 习题02_写出程序的输出结果a.Fun()

    时间:2017-08-23 整理:byzqy 题目:写出程序的输出结果: 文件:Program.cs 1 using System; 2 3 namespace Interview1 4 { 5 pu ...

  10. Ubuntu 16.04 NVidia显卡 输入密码后 重复出现登录界面

    问题根源:显卡驱动 解决办法: CTRL+ALT+F1 # 切换到命令行 sudo service lightdm stop  # 关闭桌面显示管理器 sudo apt-get remove --pu ...