一、Oracle数据表的相关操作
创建表所需的必要内容:
- 表名
- 表里面的属性名称和数量
- 每一个属性的数据类型和形式
- 每一个属性的约束
表名和属性的名称的原则:
- 字母开头
- 尽量不要使用汉字
- 通俗易懂
Oracle中的数据类型:
- 数字类型-Number
- 字符类型-char(不可改数量的字符)、varchar2(可变数量的字符)
- 日期类型-Date
Oracle中的约束:
- 非空约束:not null。要求某一个属性的取值不能为空;
- 默认约束:default。要求某一个属性的值在不设置的情况下是默认值。
- 唯一约束:unique。要求某一个属性的取值都不能相同。
- 主键约束:primary key。是一个表中包含了非空、唯一等要求的约束,并且会按照数据库的默认规则对数据进行排序的一种约束。主键必须是一个表中能够唯一区别一个记录的属性。一个表中的主键只有一个。但是主键可以由多个属性组成。
- 外键约束:foreign key。外键应用中,需要横跨两个表,其中一个表示主表,另外一表是从表。从表中的数据(某一个属性)完全来自或者依赖于主表中的数据(对应属性),并且主表中该属性为主键。
- 检查约束:check。主要用于设定某一个属性的取值的范围或者特征。
创建表案例:
表名:Student
属性名 | 含义 | 数据类型 | 约束条件 |
ID | 身份证号 | Char(18) | 主键 |
Name | 姓名 | Varchar2(20) | 非空 |
Sex | 性别 | Char(2) | 默认“男” |
Birthday | 出生日期 | Date | 非空 |
Tel | 手机号 | Char(11) | 唯一 |
ClassID | 班级号 | Number(3) | 非空 |
表名:Course
属性名 | 含义 | 数据类型 | 约束条件 |
ID | 课程编号 | Char(5) | 主键 |
Name | 课程名 | Varchar2(100) | 非空 |
表名:score
属性名 | 含义 | 约束条件 | |
ID | 成绩数据的数量 | Number(10) | 主键 |
stuID | 学生身份证号 | Char(18) | 外键,参照学生表的身份证号属性 |
CouID | 课程编号 | Char(5) | 外键,参照课程表中的课程编号属性 |
Grade | 课程的分数 | Number(3) | 检查数值必须在0~150之间 |
1、数据表创建时的详细操作-create
创建表score的时候,没有添加各种约束。不符合设计要求。
可以通过后期修改表实现。
2、数据表的修改操作-alter
Alter table 表名
- 修改表的名称
Alter table 表名 rename to 新表名;
- 修改列(属性)的名称
Alter table 表名 rename column 属性名 to 新属性名;
- 添加一个属性(列)
Alter table 表名 add (属性名 数据类型);
- 删除一个列(多个列)(属性)
删除一个列(属性):
Alter table 表名 drop column 属性名;
删除多个列(属性):
Alter table 表名 drop (属性名1,属性名2);
5)修改属性的数据类型
Alter table 表名 modify 属性名 数据类型;
6)修改表中的约束
非空约束:not null
添加一个非空约束
Alter table 表名 modify 属性名 数据类型 not null;
取消非空约束
Alter table 表名 modify 属性名 数据类型 null;
默认约束:default
增加默认约束
Alter table 表名 modify 属性名 数据类型 default 默认值;(注意:如果不是数字,默认值需要使用一对单引号括起来)
取消默认约束
Alter table 表名 modify 属性名 数据类型;
主键约束:primary key
添加主键约束
Alter table 表名 add constraint 主键约束名 primary key (属性名);
取消主键约束
Alter table 表名 drop constraint 主键约束名称;
外键约束:foreign key
添加外键约束
Alter table 表名 add constraint 外键约束名称 foreign key(属性)
References 表名(属性);
取消外键约束
Alter table 表名 drop constraint 外键约束名称;
唯一约束:unique
添加唯一约束
Alter table 表名 add constraint 唯一约束名称 unique(属性);
取消唯一约束:
Alter table 表名 drop constraint 唯一约束名称;
检查约束:check
添加检查约束
Alter table 表名 add constraint 检查约束名称 check(属性的条件);
取消检查约束
Alter table 表名 drop constraint 检查约束名称;
3、数据表的删除操作-drop
二、Oracle中数据的相关操作
1、数据的增加操作-insert
1)按照数据表的属性顺序,依次进行数据的添加
Insert into 表名 values (值1,值2,……)
2)不按照表中属性的顺序添加:
Insert into 表名(属性1,属性2,……) values (值1,值2,……)
注意:
- 如果属性为非空,添加数据的时候,该属性的值必须不能省略;
- 如果属性为默认,则添加数据的时候,不给该属性具体数值的时候,该属性对应使用默认值
- 如果属性有唯一性约束要求,添加数据的时候不能重复
- 如果属性有主键约束,则该属性的值不能为空,也必须唯一(不能重复)
- 如果属性有外键约束,则该属性的值必须依赖主表中对应属性的值,不能随意编写;
2、数据的修改操作-update
1)修改一整列数据
Update 表 set 属性=新值;
2)按照条件修改一个数据
3、数据的删除操作-delete
1)删除指定表中的所有数据
Delete from 表名;
2)删除指定表中符合条件的数据
4、数据的查询-select
1)数据简单查询,查询表中的所有数据
Select * from 表名;
2)查出指定表中的指定属性的所有值。
Select 属性1,属性2,属性3……
From 表;