oracle数据库笔记

oracle数据库笔记

文章目录

数据库四种语言:

      ddl---数据库定义语言
      dml---数据库操作语言
      dcl---数据库控制语言
      tcl---事务控制语言

1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or schema.

DDL是SQL语言的四大功能之一。
用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束
DDL不需要commit. 

CREATE 创建表
ALTER 修改表
DROP 删除表
TRUNCATE 清空表
COMMENT 提交
RENAME 重命名
创建表:
                    create table 表名(
                          列名 类型 约束primary key,---唯一主键
                          列名 类型 约束 not null ,---不能为空
                          列名 类型 约束 default' ' , ---默认约束
                          类名 类型 约束 unique , ---唯一约束
                    )
删除表:
                     drop table 表名;
修改表:
  • 增加列:

                           alter table 表名 add 列名 类型 约束;
    
  • 删除列:

                           alter table 表名 drop column 列名;
    
  • 修改列类型:

                           alter table 表名 modify 列名 类型;
    
  • 重命名列名:

                           alter table 表名 rename column 列名1 to 列名2;
    
  • 给列添加唯一约束:约束命名(pk_主键,uk_唯一,fk_外键,ck_检查)

                           alter table 表名 add constraint 列名 unique(列名);
    
  • 为教师表、部门表创建主键约束;

     	alter table teacher add constraint pk_teacher primary key(tno);
     	alter table dept add constraint pk_dept primary key(deptno);
    
  • 为教师姓名列添加唯一约束;

     	alter table teacher add constraint uk_teacher unique(tname);
    
  • 为教师性别列添加检查约束,其值只能为男和女;

     	alter table teacher add constraint ck_teacher check(gender in ('男','女'));
    
  • 教师表添加外键约束,要求所有有雇员的部门一定在部门表中存在

     	alter table teacher add constraint fk_teacher foreign key (deptno) references dept(deptno);
     		     (表名)                  	(约束名)        (字表中的字段)       (父表名)(父表主键)
    
查看表结构 (需要在命令窗口执行)
                desc usertbl;
清空表 ddl: truncate
                truncate table usertbl;
利用现有表创建新表
                select * from student;
创建新表 同时 复制数据
                create table student_backup
                as
                select * from student;
创建新表 但是不复制数据
                create table student_backup2
                as
                select * from student where 1=2;
                select * from student_backup2;
复制表数据插入 要求:表结构一致
                insert into student_backup2
                select * from student;  
                drop table student_backup2;
      select * from student_backup2 for update;

2.DML (Data Manipulation Language)数据操纵语言 statements are used for managing data within schema objects.

由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。 
DML分成交互型DML和嵌入型DML两类。
依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
需要commit. 
SELECT 查询数据
INSERT 插入
UPDATE 修改数据
DELETE 删除数据
MERGE 
CALL 
EXPLAIN PLAN 
LOCK TABLE 
插入一条记录:
            insert into  表名 (列名1 , 列名2 , 列名3 )values(值1 , 值2 , 值3 );
修改一条记录:
            update 表名 set 列名="修改后的值" where 条件;
删除一条记录:
            delete from 表名 where 条件
查询一条记录:
            select from 表名 where 条件
查询并修改:(过后必须commit)
             select * from emp for update;
表达式:
            select 1+1 from dual
            select 1-1 from dual
            select 3*2 from dual
            select 4/2 from dual
            select mod(6,4) ss from dual
取别名:
            select 1+1 as 计算结果 from dual;
            select 1+1  计算结果 from dual;
            select uname 姓名,upass 密码 from dual;
            select '姓名为:'||uname ||'   密码为:'|| upass as 基本信息 from usertbl;
            用户信息 from usertbl; 
            select userid+upass as 结果 from usertbl;
关系运算符 > < = >= <= <> !=
            select * from student where stuid>=2;
            select * from student where stuid=2;
            select * from student where stuid<>2;
            select * from student where stuid!=2;
逻辑运算符 and or not
            select * from student where stuid>1 and stuid<3;
            select * from student where stuid>1 or stuid<3;
            select * from student where not stuid>1

            select * from usertbl;
集合操作符:
            select * from student where stuid=1 or stuid=2
            union
            select * from student where stuid=2 or stuid=3;

            select * from student where stuid=1 or stuid=2
            union all
            select * from student where stuid=2 or stuid=3;
交集intersect:
            select * from st
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值