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删除