Oracle系列学习(四)
增删改查和完整性约束
建表
1 | create table student( |
插入
insert into表 values值
1 | insert into student values ('1002','李四',20,180.5); |
查询
select字段from表
1 | select * from student; |
修改
update表set字段=值 [字段=值]
1 | update student set age=30, height=170;--所有字段的更新 |
删除
delete from 表
1 | delete from student where age=20; |
where子句
在查询,修改,删除时可以使用where子句作为条件筛选,表示操作那些符合条件的记录
提交
对表的修改必须提交后才生效
提交指令: commit
回滚指令: rollback
表的完整性约束
当我们向表中添加数据时,如student, 可以会由于数据错误或误操作,表中会产生一些错误数据。而表的完整性约束就是为了解决这个问题。
如:通过唯一性约束确保学号不能重复;通过非空约束确保姓名不能为空;
当我们给表中的列设置约束条件后,再向表中插入数据或修改表的数据时,会检查插入或修改的数据是否满足我们的”约束条件”,如果不满足,就不会执行,这样就防止了垃圾数据的产生。
唯一
unique
添加唯一-约束的列, 该列值不能重复。
添加时机
1创建表时
直接在字段后添加约束名
1 | create table student ( |
2建表后再添加
alter table表名add constraint约束名约束关键字(字段)
1 | alter table student add constraint uq_ stu_ stuno unique( stuno ) ; |
唯一约束的列可以有多个空值(NULL)
非空not null
该列的值不能为空
例如:
1 | --给student表的name字段添加非空约束 |
检查check
自定义某- -列的值必须满足某个条件
例如,
1 | -- 学生年龄必须在10~40之间 |
性别只有男和女两个值
(注意当前student表并无sex字段)
1 | alter table student add constraint ck_stu_sex check(sex in('男','女')); |
主键约束与主键列的选择 primary key
主键列的数据就不能为空,并且不能重复(非空且唯一 )
一个表最多只能有一个主键(建议创建主键)
使用主键来唯一标识某条记录
1 | ALTER TABLE“MYB"."STUDENT" ADD PRIMARY KEY ("STUNO") |
逻辑主键 和 业务主键
外键
除此之外还有外键约束,这个等之后讲到多表关联之后再讲解
约束的真实项目使用说明
在真正的企业开发中,除了主键约束这类具有强需求的约束,像唯一约束、外键约束、检查约束等更多时候仅仅出现在数据库设计阶段,真实环境却很少应用,更多是放到程序逻辑中去进行处理。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.