l 常用对象
n 创建表
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50) unique
);
n 非空约束
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50)
);
n 唯一约束
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50) unique
);
n 组合唯一约束
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50),
constraint stu_name_email_uni unique(email, name)
);
n 主键约束
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50),
constraint stu_id_pk primary key (id),
constraint stu_name_email_uni unique(email, name)
);
n 外键约束
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_mm not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4) references class(id),
email varchar2(50),
constraint stu_class_fk foreign key (class) references class(id),
constraint stu_id_pk primary key (id),
constraint stu_name_email_uni unique(email, name)
);
create table class
(
id number(4) primary key,
name varchar2(20) not null
);
n 添加字段
alter table stu add(addr varchar2(29));
n 删除字段
alter table stu drop (addr);
n 修改字段
alter table stu modify (addr varchar2(50));//更改后的长度必须要能容纳原先的数据
n 删除约束条件
alter table stu drop constraint 约束名
n 修改约束条件
alter table stu add constraint stu_class_fk foreign key (class) references class (id);
n 数据字典表
desc dictionary;
//数据字典表共有两个字段 table_name comments
//table_name主要存放数据字典表的名字
//comments主要是对这张数据字典表的描述
n 查看当前用户的表、视图和约束
select table_name from user_tables;
select view_name from user_views;
select constraint_name from user-constraints;
n 索引
建立索引后读起来更快了,但修改起来更慢了。索引也需要占用空间,不要轻易建立索引。
主键约束和唯一约束自动生成索引。
106、-------------索引------------------
create index idx_stu_email on stu (email);// 在stu这张表的email字段上建立一个索引:idx_stu_email
107、---------- 删除索引 ------------------
drop index index_stu_email;
108、---------查看所有的索引----------------
select index_name from user_indexes;
n 序列
create sequence seq;//创建序列
select seq.nextval from dual;// 查看seq序列的下一个值
drop sequence seq;//删除序列
用seq.nextval给表的id赋值:insert into TableName values (seq.nextval,‘XXX’,‘XXX’);
完整创建序列
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
修改序列
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头开始
NOCACHE ;
n 三范式
第一范式:要有主键,列不可分
第二范式:不能存在部分依赖:当有多个字段联合起来作为主键的时候,不是主键的字段不能部分依赖于主键中的某个字段
第三范式:不能存在传递依赖
推荐一个淘宝旗下网站,每天9块9包邮还返利。现在登录还有9元支付宝红包送你哦!http://invite.etao.com/67121619402a047e.htm