--创建学生信息表
create table student(
sid number(8,0),
name varchar2(20),
sex char(2),
birthday date,
address varchar2(50)
);

--修改表结构,为学生信息表添加主键约束
alter table student
add constraint sid_pk primary key(sid);

--创建表时添加主键约束
create table student(
sid number(8,0) primary key,
name varchar2(20),
sex char(2),
birthday date,
address varchar2(50)
);

create table student(
sid number(8,0),
name varchar2(20),
sex char(2),
birthday date,
address varchar2(50),
constraint sid_pk primary key(sid)
);

--创建学生信息表
create table student(
sid number(8,0) primary key,
name varchar2(20),
sex char(2),
birthday date,
address varchar2(50)
);

--修改表结构,添加非空约束
ALTER TABLE student MODIFY (name varchar2(20) NOT NULL);

--创建表时添加非空约束
create table student(
sid number(8,0),
name varchar2(20) not null,
sex char(2) constraint nn_sex not null,
birthday date,
address varchar2(50),
constraint sid_pk primary key(sid)
);

--删除非空约束的方式
ALTER TABLE student MODIFY sex char(2) NULL;

--禁用主键约束(无效化约束)
ALTER TABLE student DISABLE CONSTRAINT sid_pk;
--激活主键约束
ALTER TABLE student ENABLE CONSTRAINT sid_pk;

--删除主键约束
ALTER TABLE student DROP CONSTRAINT sid_pk;
ALTER TABLE student DROP PRIMARY KEY;

--创建表时添加唯一性约束
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- email varchar2(50) unique,
-- cardid varchar2(18),
-- constraint uk_cardid unique(cardid)
--);

--创建学生信息表
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- email varchar2(50) unique,
-- cardid varchar2(18)
--);

--更改表结构,添加唯一性约束
--alter table student add constraint uk_student_cardid unique(cardid);

--禁用约束
alter table student disable constraint uk_student_cardid;

--彻底删除
alter table student drop constraint uk_student_cardid;

--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50)
--);

--修改表添加检查约束的方式
--alter table student add constraint ck_sex check(sex='男' or sex='女');

--创建表时设置检查约束的方式:列级约束
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2) check(sex='男' or sex='女'),
-- birthday date,
-- address varchar2(50)
--);

--创建表时设置检查约束的方式:表级约束
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- constraint ck_sex check(sex='男' or sex='女')
--);

--禁用约束
--alter table student disable constraint ck_sex;

--彻底删除
alter table student drop constraint ck_sex;

--主表
--create table department(
-- depid varchar2(10) primary key,
-- depname varchar2(30)
--);

--从表
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- depid varchar2(10)
--);

--修改表时添加约束
--alter table student add constraint fk_depid foreign key(depid) references department(depid) on delete cascade;

--创建列级约束
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- depid varchar2(10) references department(depid)
--);

--创建表级约束
--create table student (
-- sid number(8,0),
-- name varchar2(20),
-- sex char(2),
-- birthday date,
-- address varchar2(50),
-- depid varchar2(10),
-- constraint fk_depid foreign key(depid) references department(depid) on delete cascade
--);

--禁用约束
--alter table student disable constraint fk_depid;

--彻底删除
alter table student drop constraint fk_depid;

修改表结构:
--添加列
--alter table student add tel varchar2(11);
--修改列
--alter table student modify tel number(11,0);
--删除列
--alter table student drop column tel;
--修改列名
--alter table student rename column gender to sex;
--修改表名
--rename studentinfo to student;

--删除表
--truncate
--truncate table emp_bak;

--drop
--drop table emp_bak;

--insert(添加数据)
--insert into student (sid,name,sex)values(20010001,'张珊珊','女');
--insert into student(sid,name,sex,address,birthday) values(20010002,'王五','男','北京市昌平区',to_date('19820909','YYYYMMDD'));
--insert into student values(20010003,'张三','女',to_date('19830808','YYYYMMDD'),'北京市昌平区');

--select(查询数据)
--select * from student;
--select sid,name from student;

--update(更新数据)
select * from student;
--update student set address = '北京市昌平区' where sid = 20010001;
--update student set address='北京市海淀区';

--delete(删除数据)
--delete from student where sid = 20010001;
delete from student;

--update emp_bak set sal=6000 where empno=7369;

--演示事务的三个语句(commit,savepoint,rollback)的作用

--delete from emp_bak where empno=7369;
--commit;

update emp_bak set sal=5555 where empno=7499;
savepoint a;
update emp_bak set sal=6666 where empno=7499;
savepoint b;

select * from emp_bak;
rollback to a;
rollback;

--查看当前用户下的用户信息
select * from user_users;

--当前用户有权访问的所有用户的基本信息
select * from all_users;

--访问数据库所有用户的用户信息(要求具有dba权限的用户使用此数据字典)
select * from dba_users;

--去除重复行
--select distinct deptno, job from emp;

select * from emp;

--设置简体中文的日期格式
alter session set nls_language = 'SIMPLIFIED CHINESE';
select empno,ename,hiredate from emp;

--设置美国英语的日期格式
alter session set nls_language = 'AMERICAN';
select empno,ename,hiredate from emp;

--设置特定格式
alter session set nls_date_format='YYYY/MM/DD';
select empno,ename,hiredate from emp;

-select * from emp;
-- 算术运算符的演示
--select empno,ename,sal,sal*12 from emp;
--
--select empno, ename, sal*12+sal/2 from emp;
--
--select empno, ename, 200+sal*12 from emp;
--
--select empno, ename, (sal+100)*12 from emp;
--
--select empno, ename, sal, comm, sal+comm from emp;

--默认值的演示
--create table student(
-- sid number(8,0) primary key,
-- name varchar2(10),
-- sex char(2) default '男',
-- age number(2,0) default 20,
-- address varchar2(50)
--);

--insert into student(sid,name) values (20010001,'张三');
select * from student;

insert into student values(20010002,'王五',default,21,'北京市昌平区');
commit;

--列的别名
select empno "雇员编号", ename "雇员名", sal*12 "年收入" from emp;

select empno "雇员编号", ename "雇员名", sal*12 年收入 from emp;

select empno "雇员编号", ename "雇员名", sal*12 as 年收入 from emp;

--连接符
select ename||'的月工资是:'||sal||'岗位是:'||job as 雇员职位信息 from emp;

select ename||5 from emp;

--数字值的情况
select * from emp where deptno=20;

--字符值
select * from emp where job='MANAGER';

--日期值
select * from emp where hiredate = '02-4月-81';

--比较运算
select * from emp where sal = 3000;

select * from emp where sal >= 3000;

select * from emp where sal < 3000;

select * from emp where sal <> 3000;
select * from emp where sal != 3000;

select * from emp where sal>1000 and sal<3000;

select * from emp where sal<1000 or sal>3000;

--范围查询between..and
select empno, ename, sal from emp where sal between 1500 and 3000;

--in
select empno,ename, job from emp where job in ('SALESMAN','MANAGER','CLERK');

--模糊查询like
select * from emp where ename like 'J%';
select * from emp where ename like '_AR%';

select * from emp;

select * from emp where ename like 'G\_%' escape '\';

--is null
select empno, ename, sal, comm from emp where comm is not null;

--and
select empno, ename, job, deptno from emp where job='MANAGER' and deptno=10;

--or
select empno, ename, job, sal from emp where job='MANAGER' or sal>2000;

--not
select empno, ename,job from emp where job not in ('CLERK','SALESMAN','MANAGER');

--混合
select empno,ename, job, sal from emp where (sal>2000 or deptno=30) and job not in ('PRESIDENT','MANAGER');

--单列排序
select ename, comm from emp order by comm asc;

--使用列的别名排序
select empno, ename, sal*12 年收入 from emp order by 年收入 desc;

--多列排序
select empno,ename, deptno, sal from emp order by deptno asc, sal desc;

Oracle数据库常用脚本命令(二)的更多相关文章

  1. ORACLE数据库常用查询二

    ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME ...

  2. oracle rac常用的命令

    oracle rac常用的命令 节点层:olsnodes 网络层: oifcfg 集群层:crsctl,ocrcheck,ocrdump,ocrconfig 应用层:srvctl,onsctl,crs ...

  3. oracle数据库exp/imp命令详解

    转自http://wenku.baidu.com/link?url=uD_egkkh7JtUYJaRV8YM6K8CLBT6gPJS4UlSy5WKhz46D9bnychTPdgJGd7y6UxYtB ...

  4. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  5. oracle数据库导入导出命令!(转)

    oracle数据库导入导出命令! Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成 ...

  6. oracle数据库常用查询一

    oracle数据库常用查询一 sqlplus / as sysdba; 或sqlplus sys/密码 as sysdba;两者都是以sys登录.conn scott/tiger@orcl; conn ...

  7. Oracle - 数据库巡检脚本

    分享一个oracle数据库巡检脚本,欢迎大家使用,希望大家在用的过程中发现脚本中的错误并提出改进意见. -- 数据库巡检脚本 -- 版本号2.1 -- 该脚本仅对数据库的做一个初步的巡检,具体的优化方 ...

  8. Oracle数据库常用的Sql语句整理

    Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...

  9. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

随机推荐

  1. x:Static

    用途:访问代码中的变量等 后台定义一个变量 public partial class GetStaticFromBackgroundCode : Window { public static stri ...

  2. WPF CommandParameter的使用

    <Window x:Class="Wpf180706.Window5"        xmlns="http://schemas.microsoft.com/win ...

  3. 一步一步造个IoC轮子(一):IoC是什么

    一步一步造个Ioc轮子目录 一步一步造个IoC轮子(一):IoC是什么 一步一步造个IoC轮子(二):详解泛型工厂 一步一步造个IoC轮子(三):构造基本的IoC容器 前言 .net core正式版前 ...

  4. 【C#】wpf自定义calendar日期选择控件的样式

    原文:[C#]wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 ...

  5. Win8Metro(C#)数字图像处理--2.11图像锐化

    原文:Win8Metro(C#)数字图像处理--2.11图像锐化  [函数名称] 图像锐化函数SharpeningProcess(WriteableBitmap src,double sharpe ...

  6. 对OO的封装了有了新的理解——希望是普通函数来写总体流程来统管类似的业务,但却又涉及具体操作的函数,仍然可以达到目的

    就是不厌其烦,把那个具体操作函数封装成虚函数,只需要返回它的结果就行.而总体流程根据这个结果继续进行处理,这样就能总体流程和虚函数两不误了.

  7. SQLServer 进程无法向表进行大容量复制(错误号: 22018 20253)

    原文:SQLServer 进程无法向表进行大容量复制 我的环境:SQL SERVER 2008 R2:发布者 ->SQL SERVER 2017 订阅者 进程无法向表“"dbo&quo ...

  8. error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”

    解决办法: 打开项目工程----> 属性 ---> c/c++ --> 语音 --> 符合模式 修改成否即可

  9. Android零基础入门第16节:Android用户界面开发概述

    原文:Android零基础入门第16节:Android用户界面开发概述 相信通过前面15期的学习,Android的开发环境已经基本掌握了,如果仍有问题,欢迎到Android零基础入门技术讨论微信群交流 ...

  10. 赵海军获任中芯国际CEO 邱慈云留任副董事长、非执行董事(年薪40万美元+300万股票的认购权)

    集微网消息,中芯国际今日宣布,由赵海军博士接替邱慈云博士担任中芯国际首席执行官,邱慈云博士将留任副董事长.非执行董事,并于2017年6月30日前担任公司全职顾问,于当日生效.邱博士将与赵博士紧密合作, ...