一、数据定义语言:
1、用于改变数据库结构,包括创建、更改和删除数据库对象;
2、命令:
create table :创建
alter table 修改
drop table 删除表
truncate table 删除表数据(不可以回滚)
2、创建表:
- -- 创建表
- create table sclass(
- cid int primary key,
- cname varchar(10)
- )
- create table java (
- ssid int primary key, -- 主键约束
-
- sname varchar2(20) unique, -- 唯一约束
-
- ssex char(5) check(ssex in ('男','女')),--检查约束,检查输入的是否是男或者女
-
- sbirth date not null, -- 非空约束
- saddress varchar2(50) default '淄博',-- 默认值约束
-
- --score double check(score between 0 and 100), -- 检查约束的范围写法
-
- cid int,
-
- constraint fk_student_class foreign key(cid) references sclass(cid) --设置外键
- )
3、修改表结构:
alter 表名 add/modify/drop(增加/修改/删除)列名 类型名/约束
4、截断:
-- 将表中的所有记录全部删除,但保留表结构,并且不写日志;
-- truncate 是DDL语言,
delete from 表名 是DML语言;
5、删除表:drop
6、数据完整性:
可靠性 + 准确性 = 数据完整性
根据数据完整性机制所作用的数据库对象和范围的不同,数据完整性可分为以下四种类型:
①、实体完整性:唯一约束、主键约束;
②、域完整性:限制数据类型、检查约束、默认值、非空约束;
③、参照完整性(引用完整性):外键约束;
④、自定义完整性:规则、存储过程

约束实现数据完整性:
创建表:保证数据的完整性 = 实施完整性约束
二、数据操作语言:
数据操作语言:
检索、插入和修改数据(增 insert、删delete、改update、查select)
- insert into java values(1,'张三','男',to_date('1997-02-22','yyyy-mm-dd'),'济南');
日期类型 使用
- --复制表(表不存在)--只复制表结构,不复制表数据(因为1=2,不成立)
- create table student as select * from java where 1=2;
-
- select * from student;
- --复制表结构和表内容、不复制约束
-
- create table student2 as select * from java;
-
- select * from student2;
- --插入来自其他表中的数据(select前可以加from)
-
- insert into student select * from java;
- select * from student;
三、事务控制语言:
1、事务是最小的工作单元,作为一个整体进行工作
2、保证事务的整体成功或失败,称为事务控制;
3、用于事务控制的语句有:
commit:提交并结束事务处理;
rollback:撤销事务中已完成的工作;
savepoint:标记事务中可以回滚的点;
四、数据控制语言:
1、数据控制语言为用户提供权限控制语言;
2、命令:
grant:授予权限;
revoke:撤销已授予的权限;
- --创建用户
- create user yym identified by 123456;
- grant connect, resource to yym;--授予权限
-
- --登录管理员的账户,给用户yym设置能访问scott.emp表的权限(只能查看)
- grant select on scott.emp to yym with grant option;
- select * from scott.emp;
- --管理员撤销yym的访问刚才那个表的权限
- revoke select on scott.emp from yym;