sqlplus课堂笔记

desc user_tables;
select * from user_tables where table_name='emp';
update 表名 set 列名='修改后数据' where 行名='AAA';
create table student
(
      id number(5,2) primary key,
      sname varchar2(20) not null,
      sage number(3) check(sage between 1 and 120),
      sidcardno varchar2(18) unique,
      remark varchar2(100) default '无'
);
number(5):5位整数
number(5,2):有效数字总位数为5位,整数3位,小数2位

域完整性:确定某个字段在指定的取值范围内取值,分为以下几类:
检查约束:字段取值符合指定的区间
非空约束:保证字段必须插入确定的值
唯一约束:保证字段的取值是不重复的
默认值约束:保证字段在么有明确插入值得情况下,有默认值

参照完整性:主要用来描述表和表之间的数量的关联关系
一对多(1:n):如商品类别和商品(保证一个商品类别下可以有多个商品,但是一个商品只能对应一个类别)

商品类别表
 create table itemcategory1
(
      id number(10) primary key,
      cname varchar2(30) not null,
      remark varchar2(100) default '无'
);
 商品
create table item1
(
      id number(10) primary key,
      iname varchar2(80) not null,
      remark varchar2(100) default '无',
      cid number(10) not null,
     constraint fk_item1_itcategory foreign key(cid) references itemcategory1(id)
);
 --利用constraint关键字给表加约束
语法格式:constraint 约束名称 约束类型

一对一:
实现方式1:在多方的表上建一个外键列,此列加一个unique约束
实现方式2:在多方的表或一方的表上的主键列上创建另一方的外键

多对多:
实现方式1:两个外键列+主键列
实现方式2:两个外键列,同时由这两个外键列组合成一个符合主键来唯一标识一条记录
create table student
(
  id varchar2(20) primary key,
  sname varchar2(10) not null,
  remarks varchar2(100) null
);

create table course
(
  id varchar2(20) primary key,
  sname varchar2(10) not null,
  remarks varchar2(100) null
);

create table student_course
(
  sid varchar2(20),
  cid varchar2(20),
  constraint pk_sid_cid primary key(sid,cid),
  constraint fk_sid foreign key(sid) references student(id),
  constraint fk_cid foreign key(cid) references course(id)
);

create table student_course
(
  id  varchar2(20) primary key,
  sid varchar2(20),
  cid varchar2(20),
  constraint fk_sid foreign key(sid) references student(id),
  constraint fk_cid foreign key(cid) references course(id)
);
 高级查询
连接查询:

外连接(join)
左外连接(left join)*
右外连接(right join)*
内连接 (inner join):以主表连接为主*看on后面的
全连接(full join)
示例1:查询所购买的商品的名称及类型名称
select iname,cname from item inner join itemcategory on item.cid=itemcategory.id;

insert into itemcategory(id,cname) values(10004,'儿童用品');

select id,iname from item;
 edit 2010072201.sql
start 2010072201.sql
家庭作业:
1.预习外连接,搞懂外连接

2.有如下关系:
教学部(部门名称,部门编号)
教职员(姓名,薪水,工龄,职位,类别)
职位(名称)
公积金账号(账号名称)
入职类别(名称)
业务规则:
1)一个部门以下可以有多个员工,但一个员工只能属于一个部门。
2)一个员工可以担任多个职位,一个职位可以有多个员工来担当。
3)一个入职类别可以包括多个员工,但一个员工只能属于一个入职类别
如:张明要么属于社会招聘,要么属于校园招聘
4)一个公积金账号只能归一个员工使用。
根据以上关系及业务规则设计表的结构及关系
cascade删除

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值