首先让我们回顾一下,上次我们最后讲到的是SQL里面的DDl的分类,表操作。
最后我们也说了表里面的创建表,删除表,重命名表,添加表,删除表等等。。。
那我们就继续说,接着是主键
主键
首先让我们知道什么是主键?
主键,就是在一个表单里面的可以唯一的标识一条记录
它是通过 primary key 这个关键字来设置指定的字段为主键
那就接着了解一下它有哪些特性
特性:
1.主键所在的字段不能为空,不能有重复项。
2.一张表只能有一个主键。
3.一个主键可以包含一个字段,也可以包含多个字段,包含多个字段的主键被称为联合主键/复合主键。
4.在创建主键的同时会在该字段上创建唯一索引。
这个是非常重要的,要牢记
主键的分类:
(在我们看来是分为两大类)
1.逻辑主键:有业务的含义。
比如:身份证号,学号,这些有意义的数字
2.自然主键: 无业务含义。
比如:自增的数字,这些无任何实际意义的(1,2,3,........)
那怎么设置主键?
设置主键:
创建的表的时候:
create table t_student(
id number(11) primary key, --通过 primary key 来设置主键
studentName varchar2(10),
studentAge number(3),
birthday date
);
或者:项目实战中最常用的方式
create table t_student(
id number(11), --通过 primary key 来设置主键
studentName varchar2(10),
studentAge number(3),
birthday date,
constraint 名字 primary key(字段名)
);
那,我们设置了表,当有问题的时候怎么修改?
修改表:(外部,不在创建的表里修改表)
alter table 表名 add (字段名 number(数) primary key);
只是将字段设置为主键并自定义主键名字
alter table 表名 add constraint 表名 primary key(字段名);
还有就是注意几个事项
举俩例子:
在建立表格时就指定主键和外键
create table T_STU (
STU_ID char(5) not null,
STU_NAME varchar2(8) not null,
constraint PK_T_STU primary key (STU_ID)
);
主键和外键一起建立:
create table T_SCORE (
EXAM_SCORE number(5,2),
EXAM_DATE date,
AUTOID number(10) not null,
STU_ID char(5),
SUB_ID char(3),
constraint PK_T_SCORE primary key (AUTOID),
constraint FK_T_SCORE_REFE foreign key (STU_ID)
references T_STU (STU_ID)
)
注意:
通常情况下字符串在oracle中通常用varchar2表示
删除表数据:delete from 表名;
在创建的表的时候必须有一个字段为主键。
所有通过命令执行的也都可以通过图形界面操作。
主键就到这儿了
然后就说一下DML
好了,就这么多吧!