首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

Oracle学习(2)——15天Oracle入门

2012-07-23 
Oracle学习(二)——15天Oracle入门?????????????????????????????????????????????????????????????????????

Oracle学习(二)——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子句
????? ?遵从从左到右从上到下的原则

??????? (写到重要点了,但很晚了,先去洗澡睡觉了,以后有空再补上,不好意思)

????????????????????

热点排行