oracle_2.数据类型

5 篇文章 0 订阅
---切换用户
--privileges   权限
--管理员登录
conn sys/oracle@orcl as sysdba;
--给scott账户解锁  alter修改   account账户  unlock 解锁
alter user scott account  unlock;
--解锁完了就可以用 scott账户了
conn  scott/tiger@orcl as normal;
conn  scott/tiger@orcl; 
--认识单词
/*
create [kriː'eɪt]   创建   drop[drɒp]     删除  alter['ɔːltə]      修改
insert[ɪn'sɜːt]     增加   delete [dɪ'liːt] 删除   update [ʌp'deɪt] 修改  select  查询
from [frɒm]  从..  where [weə] 条件   set [set] 赋值设置  into [ˈɪntu] 深入
*/




创建变
 班级表  grade   班级名
 学生表 student   姓名    年龄  性别   班级
 要求: 满足三范式  必须都有主键     学生需要外键
  
 create table grade(gid  number(8) , gname varchar2(20)  )
 create table student(sid  number(8),sname varchar2(30),age number(8),sex char(2),gid  number(8)     ); 
 班级表中 新增一个地址栏
 
 alter table grade  add address varchar2(30)


 每张表中插入3-5条数据 
 
 insert into grade values(1,'计算机一班','图书馆一楼');
 insert into grade values(2,'计算机二班','图书馆二楼');
 insert into grade values(3,'计算机三班','图书馆三楼');
 insert into student values(1,'张三',20,'男',1);
 insert into student values(2,'李四',21,'女',1);
  insert into student values(3,'王五',20,'男',2);
 insert into student values(4,'贾六',21,'女',2);
  insert into student values(5,'田七',20,'男',3);
 insert into student values(6,'王八',21,'女',3);
 将 王五的 年龄修改为20 性别修改为女
 update  student set  age=22 , sex='男'  where sname='王五' ;
 查询出3班的所有学生
 
 select * from student where gid=3
 查询出年龄是20岁的女生
 
 select * from student where  age=20  and sex='女' 
 
 删除所有的男生
 
 delete from student where  sex='男'
 
 删除学生表和班级表
 
 drop table  grade;
 drop table student;
 
 -----name is already used by an existing object
 -----存在着一个被使用的名字  说明已经有该对象了


----    一个用户方案就是一个数据库
----     创建一个新的用户方案
--1  管理员登录
     conn sys/oracle@orcl as sysdba;
--2  创建用户
     ---先删除用户 drop user  godyang  cascade
     ---cascade 级联
     ---create user username  identified by password
     --创建一个用户  用户名字是 godyang  验证 密码是 g123
     create  user  godyang   identified by  g123;
 --3 授权
     --grant  privilege  to  user;
     --grant 授予  connect连接(登录),resource资源(创建,删除,修改..)  to 给  godyang
     grant  connect,resource to godyang;
     ---user用户 GODYANG  lacks 缺乏 CREATE SESSION 会话(登录)  privilege(权限) ;logon登录  denied 被阻止;


---创建一个老师表
  create table teacher(
  tid number(2) ,
  tname varchar2(5)  
  );
  --alter 修改 table表 teacher老师 modify修改 tname   varchar2(20);
  alter table teacher modify tname varchar2(20);
  
  -- quoted 逗号 string 字符串 not 不能 properly 恰当地   terminated 结束
  
  insert into   teacher( tname )  values( '黄老师'   );
  insert into   teacher( tid )  values(2  );
  insert into   teacher(tid,tname) values(4,'高老师');
  insert into   teacher values(4,'高老师');
   --提交 commit --将缓存中的操作数据提交到数据表中
  commit 
 
 --数据库类型
 --字符   
    char --定长        char(10)  10个字符以内所占的空间都是10
    varchar2 ---变长   varchar2(10)    10个字符以内所占的空间是根据字符个数实际所占空间
     
 --数字
    number  -- 整数   小数 
    number(4) --最大值9999         number(2)最大值99
    number(5,2)--最大值999.99      number(8,3)最大值99999.99
 
 --时间 
    date   日期
    timestamp  日期
 --大文本
    clob  大文本  最大值4G   新闻内容  小说 简介....
   
 --大对象
   blob    二进制文件  相片  压缩文件....
   
   
   ---创建部门  和员工表
   
   部门[部门号,名称]
   员工[员工号,姓名,性别,出生日期,工资,奖金,工龄,籍贯,学历]
   
   --1 满足三范式
   --2 有主外键
   --3 给数据类型


   
   create table dept(
   did number(8),
   dname varchar2(20)
   );
   create table emp(
   eid number(8),  --主键
   ename varchar2(30),--姓名
   sex char(2),--性别
   birth date , --出生日期
   salary number(9,2),--工资
   comm  number(8,2),--奖金
   workYears number(3),--工龄
   nation varchar2(30),--籍贯
   degree varchar2(30),--学历
   did  number(8)
   );
   
   --4 在部门表上 加房间号
   alter table dept  add roomNo number(8);
   --5 将 姓名的长度修改为40
   alter  table emp  modify  ename varchar2(40);
   --11 将学历去掉
   alter table emp drop  column degree;
   --6 每张表插入3-5条数据
   insert into dept(did,dname,roomno) values(1,'业务部',3001);
   insert into dept(did,dname,roomno) values(2,'技术部',3002);
   insert into dept(did,dname,roomno) values(3,'人事部',3003);
    insert into emp values(1,'张三','男',to_date('2000-1-1','yyyy-mm-dd')  ,8000,2000,2,'江西',2);
    insert into emp values(2,'李四','女',to_date('2000-2-1','yyyy-mm-dd')  ,2000,1000,1,'江西',2);
    insert into emp values(3,'王五','女',to_date('2000-8-1','yyyy-mm-dd')  ,4000,500,3,'江西',1);
    insert into emp values(4,'贾六','男',to_date('2000-3-1','yyyy-mm-dd')  ,5000,200,2,'江西',1);
    insert into emp values(5,'赵七','女',to_date('2000-6-1','yyyy-mm-dd')  ,3000,1000,3,'江西',3);


   --7 将工资低于3000的员工工资增加500
   
   update emp set salary=salary+500  where salary<3000;
   
   
   --8 将姓名为王五的人  工资增加2000,奖金增加1000,工龄增加2年
   
   update  emp set  salary=salary+2000,comm=comm+1000 ,workYears=workYears+2  where ename='王五';
   
   
   --9 删除贾六
   
   delete from emp where  ename='贾六'  ;
   
   --10 查询出工资大于5000所有员工
   
   select * from emp where   salary >5000;
   
   
   
  
 
 
 
 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值