ORACLE学习笔记-新建用户及建表篇
一、用户相关SQL语句
/*新建用户*/
create user SA identified by 2013;
说明:SA用户名,2013密码
/*授权connect,resource给用户sa*/ grant connect,resource to sa;
说明:CONNECT角色: --是授予最终用户的典型权利,最基本的 。
ESOURCE 角色: --是授予开发人员的
/*查询所有的用户*/ select * from all_users;
/*将表STU查询权限授予SA*/ GRANT SELECT ON STU TO SA /*将表STU添加权限授予SA*/ GRANT INSERT ON STU TO SA /*将表STU更新权限授予SA*/ GRANT UPDATE ON STU TO SA /*将表STU删除权限授予SA*/ GRANT DELETE ON STU TO SA
二、建表篇
/*建表指定表空间*/ create table KC(KC_NO varchar2(10) not null,KC_NAME varchar2(50) not null) tablespace TEST; create table STU(STU_ID varchar2(10) not null,STU_NAME varchar2(50) not null,STU_AGE number(2) not null,STU_SET number(2) not null, KC_NO varchar2(10) not null) tablespace TEST;
说明:本文使用2张表分别为学生表STU,课程表KC,两张表分别存在TEST表空间中。
/*创建约束,设置主键*/ ALTER TABLE STU ADD PRIMARY KEY(STU_ID) ALTER TABLE KC ADD PRIMARY KEY(KC_NO) /*查看表空间的表*/ Select table_name, tablespace_name from dba_tables where tablespace_name='TEST'
/*查询所有的表*/ select table_name,tablespace_name,temporary from user_tables
相关推荐
-
sqlserver和oracle中对datetime进行条件查询的一点区别小结
首先,看一下sql server,之前我们都通过前台用户选择一个起始时间和一个结束时间(以日为最小单位),然后来作为条件进行查询,如果直接通过"between starttime and endtime"来作为条件的话,发现会自动将"2009-06-17"转化为" 2009-06-17 00:00:00",于是如下查询条件" between '2009-06-16' and '2009-06-17'",只能得到16日的数据,1
-
Oracle 数据库连接查询SQL语句
内连接(inner join). 外连接: 全连接(full join).左连接(left join).右连接(right join). 交叉联接(cross join). 外连接与内连接不一样,外连接返回的查询结果中不仅包含符合条件的行,还包括左表(左外连接),右表(右外连接)或者两个连接表(全外连接)中的所有不符合条件的数据行. 1.左连接 (left [outer] join) 左外连接就是将左表的所有数据分别于右表的每条数据进行连接组合,返回的结果除内连接的数据外,还有左表中不符合条件的
-
oracle数据库常用的99条查询语句
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 from emp; 4. select job from emp; 5. select distinct job from emp; 6. select distinct empno, job from emp;说明:因为雇员编号不重复, 所以此时证明所有的列没有重复,所以不能消除掉重复的列. 7. 查询
-
oracle 查询表名以及表的列名
1.查询表名: 复制代码 代码如下: select table_name,tablespace_name,temporary from user_tables [where table_name=表名] 其中:table_name:表名(varchar2(30)); tablespace_name:存储表名的表空间(varchar2(30)): temporary:是否为临时表(varchar2(1)). eg: select table_name,tablespace_name,tempora
-
ORACLE学习笔记-查询篇
一.普通查询 /*查询表数据*/ select * from STU /*取出前3行数据*/ select * from stu where ROWNUM<=3 /*模糊查询*/ select * from stu where stu_id like 'stu001%' 说明:通配符"%"代表一个或者多个字符,通配符"_"代表一个字符. /*别名*/ select STU_ID as 学号 from stu 二.联合查询 /*普通联合查询*/ SELECT S
-
ORACLE学习笔记-添加更新数据函数篇
一.添加数据 /*添加数据*/ insert into STU values('stu0004','赵一',18,1,"kc0004"); insert into STU(STU_ID,STU_NAME,STU_AGE,STU_SET ) values('stu0013','储十一',19,1); 说明:如果不指定将数据添加到那个字段,那么此时必须列出全部数据,如果列出字段,则一一对应,必须列出约束不为空的所有字段,否则报错. 二.更新数据 /*更新数据*/ update STU SE
-
ORACLE 如何查询被锁定表及如何解锁释放session
ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码 代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id =
-
Oracle 获取上周一到周末日期的查询sql语句
复制代码 代码如下: -- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d') from dual; --结果:6 注释:2013.09.06是周五,为本周的第六天 select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyymmdd') from dual;---上周一 select to_char(sys
-
oracle,mysql,SqlServer三种数据库的分页查询的实例
MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数.例如:select * from table WHERE - LIMIT 10; #返回前10行select * from table WHERE - LIMIT 0,10; #返回前
-
ORACLE查询表最近更改数据的方法
修改项目时,涉及到了Oracle中许多表的修改(包括:增加.删除字段,修改注释等).由于开始没有进行记录,造成在上测试机时,忘记了具体修改过哪些表了.后来在网上查找了一些资料,例如: 复制代码 代码如下: 1.select uat.table_name from user_all_tables uat 该SQL可以获得所有用户表的名称 2.select object_name, created,last_ddl_time from user_objects 该SQL可以获得所有用户对象(包括表)
-
oracle查询语句大全(oracle 基本命令大全一)
1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入. 4.select table_name,column_name from user_tab_columns
-
mysql仿oracle的decode效果查询
以下代码在MYSQL中测试通过,MSSQL应该能跑通,未测试. 复制代码 代码如下: #创建表如下 create temporary table tmp (a int, b int ,c int); insert into tmp VALUES (1,10,1),(10,10,2),(10,100,2); #mysql执行 select sum(case when c = '1' then A else B end) from tmp #oracle执行 select sum(decode(c,
随机推荐
- js检测离开或刷新页面时表单数据是否更改的方法
- 通过npm引用的vue组件使用详解
- 用vbs实现判断计算机是笔记本还是台式机的代码
- oracle查看表空间已分配和未分配空间的语句分享
- ORA-12514及ORA-28547错误解决方案
- 一个可拖拽列宽表格实例演示
- asp.net通过Ajax UpdatePanel回传后滚动条位置变更解决方法
- python fabric实现远程操作和部署示例
- sql2000 卸载后重新安装时不能安装的解决办法
- Android内存泄漏实战解析
- jquery使用hide方法隐藏指定id的元素
- JSON格式的键盘编码对照表
- “internet explore 无法打开internet站点 已终止操作”的解决方法
- VBS教程:函数-StrComp 函数
- Android在listview添加checkbox实现原理与代码
- webpack 模块热替换原理
- pyqt5中QThread在使用时出现重复emit的实例
- php数组和链表的区别总结
- SpringMVC实现多文件上传
- 易语言图片框组件使用方法