oracle 基础SQL语句 版本5.7.29
一、表与用户介绍
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的更多相关文章
- Mysql Navicate 基础操作与SQL语句 版本5.7.29
SQL数据的增删改查:此部分所有SQL语句在navicat中与mysql命令行执行效果一样,只是mysql服务端在命令行执行,而navicat只是在客户端的图形化打开操作. 一.进入数据库 .连接数据 ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- Oracle 基础 —SQL语句优化的途径
一:SQL语句的优化途径 1.选择合适的Oracle优化器 (1).RBO 基于规则进行优化的优化器 --Oracle 10G 后被抛掉 (2).CBO基于成本(CPU 和 内存的占用率)优化的优 ...
- oracle 基础SQL语句 增删改
一.SQL操作 查询已创建的数据库:SELECT datname FROM pg_database; 创建数据库:CREATE DATABASE wzxdb; 删除数据库:DROP DATABASE ...
- oracle 基础sql语句
修改date日期时间: update T2_FOODS_STORAGE_IN set create_time =to_date('2020-01-15 12:30:20','yyyy-mm-dd hh ...
- Oracle和SQL语句的优化策略(基础篇)
转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...
- oracle常用SQL语句(汇总版)
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
- MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句
数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...
- oracle中sql语句的优化
oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info (30000条数据)D ...
随机推荐
- 嵌入式ARM汇编详解
文章目录 零.预备知识 1.ARM与X86 2.ARM中指令的执行 3.ARM的九种寻址方式 立即数寻址 寄存器寻址 寄存器间接寻址 寄存器偏移寻址 寄存器基址变址寻址 批量寄存器寻址 相对寻址 堆栈 ...
- NOIP 模拟 $36\; \rm Cicada 拿衣服$
题解 \(by\;zj\varphi\) 发现右端点固定时,左端点的 \(min-max\) 单调递减,且对于 \(or\) 和 \(and\) 相减,最多有 \(\rm2logn\)个不同的值,且相 ...
- 题解 b
传送门 考场上只会暴力 \(n^4\) DP,部分分还写炸了 但其实这个DP可以前缀和优化到 \(n^3\) ,我觉得没有这档部分分就没写 但其实是有这一档的,我没有看出来-- 正解想不到 如果我们已 ...
- 题解 matrix
传送门 无比毒瘤的dp题,而且伪装地好像很可做的样子 考场上我给它氪了差不多一个小时最后还是只能扔了个20pts状压走人 以下思路基本均来源于题解: 对于此题,题面中三个限制条件: (1)第 i 行第 ...
- Java社区——个人项目开发笔记(二)
1.B\S架构通信原理 浏览器,服务器之间产生通信,浏览器访问服务器,服务器返回一个HTML,浏览器会对HTML进行解析,并渲染相关的内容. 在解析过程中,会发现HTML里引用了css文件,js文件, ...
- @CreatedDate@CreatedBy@LastModifiedBy@LastModifiedDate
启动类上加上@EnableJpaAuditing 实体类,注意需要加上@EntityListeners(AuditingEntityListener.class)这个注解才能使@CreatedDate ...
- Tcp三次握手中细节
TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如下图所示.主机A为客户机,主机B为服务器 说明:(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B ...
- 14.SpringMVC之文件上传下载
SpringMVC通过MultipartResolver(多部件解析器)对象实现对文件上传的支持. MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipart ...
- 进程CPU、内存过高问题查找
1.定位进程 找出占用CPU最高的10个进程 ps aux | sort -k3nr | head -n 10 查看占用内存最高的10个进程 ps aux | sort -k4nr | head -n ...
- sparksql解析流程
1.sparkSql处理核心:Catalyst工作流程(本质:把sql.dataframe相结合,以树tree的形式来存储.优化) 2.catalyst工作流程 1)Parser(解析器):SqlPa ...