Oracle学习(2)——15天Oracle入门
Oracle入门(二) SQL部分
一: 数据库定义语句:DDL (Data Definition Language )操作:
(1):表的建立 关健词:create table 表名。
eg:
create table student --创建一个学生表
(
ID varchar(36) primary key,
S_NAME varchar2(36) not null,
S_TEL number(8) unique
)
首先我们创建了一个名为student的学生表,他含有ID, S_NAME ,S_TEL三列.且这三例对应的约束分别为主健:primary key,非空:not null,唯一:unique约束:
主健约束(PK):该例必须唯一且非空。等同于not null 且 unique;
非空约束(NT):故名思意;
唯一约束(UQ):unique为不能包含重复的值
特别提醒 :一行既可以定义unique又可以定义not null,若只定义了unique 而没有定义 not null则该字段可以有多个null值(这一点初学着一定死记)
(2):表的删除 关健词 delete / truncate / drop table 表名
他们的区别在于:
delete table 表名 ——删除所有行,只删除数据 不删除表的结构;
truncate table 表名 ——实现的功能与delete一样只是truncate删除时要更快且不会触发触发器;
drop table 表名—— 删除表结构;
特别提醒:我们可以把 delete table 表名简写成 delete 表名,但却不能把drop table 表名 简写成drop 表名
(3):用户以及表空间的操作 关健词 create user 用户名/ Drop user 用户名
eg:
create user li identified by li--创建用户
Drop user li -- 删除用户li
特别提醒: 删除用户时,如果该用户账号中已经存在一个模式对像,我们可以使用强制删除关健字:CASCADE
eg:
drop user li cascade CASCADE;
二:数据库控制语句:DCL (Data Control Language)操作.
(1):授权 关健字 grant 权限 to 对像
eg : grant dba to li;--授权
(2):回收权限 关健字 evoke 权限 rom 对像
eg: revoke dba from li;
三:数据库操作语句:DML (Data Manipulation Language)
(1):插入数据:关健字 insert into 表名(列名列表)values(值列表);
eg: insert into student(ID,S_NAME) values('SD0001','张三');
如果我们向表中每一列都插值可以省去列名列表
eg:insert into student values('SD0001','张三','137******88');
(2):删除数据:关健字 delete table 表名 where
eg: delete table stedent ——删除全部数据
delete table stedent where id = 'SD0001' 删除满足条件的数据,可以是一条或是多条。
(3):修改数据:关健字 update 表名 set 值 where 条件
eg: update stedent set S_name = '李四' where id = 'SD0001'
(4):数据的查询:关健词: select 列名列表 from 表名列表 where where 子句, group by 子句 having 子句
order by子句
特别注意:
Select 可选的distinct 选择列表 from 表
where 子句
group by 子句
having 子句
order by子句
执行顺序 先where,后group by,然后分组函数,后having子句,最后order by子句
遵从从左到右从上到下的原则
(写到重要点了,但很晚了,先去洗澡睡觉了,以后有空再补上,不好意思)