标签:between into 名称 对象 com 管理员 admin -- ibm
数据库(Database,DB)
数据库管理系统(Database Management System,DBMS)
数据库管理员( Database Administrator, DBA )
数据库系统( Database System, DBS )
关系型数据库(Relationship Database, RDB)
关系型数据库管理系统(RDBMS)
常用SQL指令:
SELECT、INSERT、DELETE、UPDATE、CREATE、DROP
实体-关系模型(Entity-Relationship Model, E-R Model)
    E-R模型三要素:实体、关系、属性
     MYSQL:玲珑的小老鼠
	经常在老猫不经意间偷走了市场.
MS SQL Server:笼中小麻雀
	受限于Windows平台的性能,难于在企业开发中大展身手.
IBM DB2:   彪悍的大笨象
	秉承了IBM一贯彪悍的性格,粗犷有余,细节不足.功能巨牛无比,使用起来,人人诅咒.
   Oracle: 翱翔九天的凤凰
数据库市场上的领头凤,程序员的闺中密友.
SQL语句分类:
Select查询语句  eg:  select * from table
?? DML语句(数据操作语言)
Insert、Update、Delete、Merge
?? DDL语句(数据定义语言)
Create、Alter、Drop、Truncate
?? DCL语句(数据控制语言)
Grant、Revoke
?? TCL事务控制语句
Commit 、Rollback、Savepoint
select * from table
删除重复行:  关键字(distinct)
select distinct(*) from table
给列起别名: AS
select name AS  ‘new_name‘ from table  
连接:||
 select name||age from table
比较运算符
between and 
in()  like    is null
使用like时
% 代表零个或多个字符。
_ 代表一个字符。
order by 字句排序
ASC: 升序
DESC: 降序
多个排序
select * from table order by 1 desc,2 asc;
大小写控制函数
LOWER  小写 ; UPPER 大写 ;INITCAP 首字母大写
字符控制函数
  函数				运行结果
CONCAT(‘Hello‘, ‘World‘)      HelloWorld     连接函数
SUBSTR(‘HelloWorld‘,1,5)      Hello		 截取函数
LENGTH(‘HelloWorld‘)          10		 输出字符串长度
INSTR(‘HelloWorld‘, ‘W‘)       6	        输出w所在位置
LPAD(salary,10,‘*‘)           *****24000	 左填充
RPAD(salary, 10, ‘*‘)         24000*****     右填充
TRIM(‘H‘ FROM ‘HelloWorld‘)    elloWorld     去掉h
数字函数
Round(45.631,2)      45.63      四舍五入
Trunc(465.23,1)     465.2       截断
Mod(50,20)          10          取余
日期函数
Months_between         两个日期相差的月数
Add_months             向指定日期加上若干个月 可以加负数
Next_day               指定日期的下一个日期
Last_day               本月的最后一天
Round                  日期四舍五入         
Trunc                  日期截断
Sysdate                当前日期   两个日期相减返回相差天数
时间格式 : HH24:MI:SS   
 select to_char(sysdate,‘HH24:MI:SS ‘) from dual;         14:20:20
to_date   to_char   to_number
 Select to_date(‘2015126‘,‘yyyyMMdd‘) from dual;   
 select to_char(sal,‘999,999,999‘) from emp;
 通用函数
 NVL (expr1, expr2)    
 NVL2 (expr1, expr2, expr3)
 NULLIF (expr1, expr2)
COALESCE (expr1, expr2, ..., exprn)
连接
组函数
avg() 平均
count() 计数
max() 最大值
min()最小值
sum()求和
多行比较操作符
in  等于列表中的任何一个
any  和子查询返回的任意一个比较
all  和子查询的所有值比较
 
DML数据操纵语言
   向表中插入数据
   inster into table values()
  insert into wan values (‘ktf‘,5000,to_date(‘1980-08-11 14:40:23 ‘,‘yyyy-mm-dd hh24:mi:ss‘));
   修改现存数据
  update table set  () where ();
  update wan set age=35,time1=sysdate-10 where sal=800;
   删除现存数据
 delete from table
DDL数据定义语言
  作用于创建,修改,删除,管理数据库对象
  会自动提交当前事务
cteate table ,
  create table wan1 (name varchar2(5) not null,age number(3) not null,sal number(5),time1 date);
alter table ,
  alter table wan add(name varchar2(6))
  alter table wan drop column name;  
drop table, 
  drop table wan1;
modity.  修改现有列的属性
 ALTER TABLE dept80  MODIFY	(last_name VARCHAR2(30));
改变对象的名称
Rename  wan To new_name;
约束
 NOT NULL           非空
 UNIQUE             唯一
 PRIMARY KEY        主键
 FOREIGN KEY        外键
 CHECK              (sal>0)
添加约束
alter table wan 
add constraint   name  not null ;
 删除约束
alter table wan 
drop constraint name;
视图(表)
--创建视图
create view waa as
 select * from scott.emp;
--修改视图  or replace view 
create or replace view waa(ename) as 
  select ename||‘hfh‘  from scott.emp ;
--视图中有 group by ,distinct ,rownum 时 不能使用delete
create view wan as 
 select sal from scott.emp  group by sal ;
delete from wan; 
--只读视图  不可以修改
create view wa as
select * from scott.emp where sal>3000
 with read only ;
 
 insert into wa(empno) values (2);  不能插入数据 
 drop view waa;        删除视图
序列
自动提供唯一的数值
共享对象
主要用于提供主键值
代替应用代码
将序列值装入内存可以提高访问效率
-- 创建系列 
CREATE SEQUENCE dept_deptid_seq
                INCREMENT BY 10  --增量
                START WITH 50   --开始值
                MAXVALUE 9999    --最大值  
                NOCACHE          --不写入内存 
                NOCYCLE;          --不循环  到最大值结束
select dept_deptid_seq.nextval from dual  ;    --查询下一个  先
select dept_deptid_seq.currval from dual  ;    --查询当前值  后
--修改序列 增量 最大值 循环与否
alter sequence dept_deptid_seq 
           increment  by 20
           maxvalue  300
           cycle ;
-- 删除序列
drop  sequence dept_deptid_seq; 
索引
一种数据库对象
通过指针加速 Oracle 服务器的查询速度
通过快速定位数据的方法,减少磁盘 I/O
索引与表相互独立
Oracle 服务器自动使用和维护索引
-创建索引
create index suoyin 
on  wan(name);     --在表的某一列创建索引
--删除索引
drop index suoyin;
用户和权限
系统权限:
CREATE SESSION(创建会话)
CREATE TABLE(创建表)
CREATE SEQUENCE(创建序列)
CREATE VIEW(创建视图)
CREATE PROCEDURE(创建过程)
--创建用户
create user scott           --用户名
  identified by  tiger;     --密码
-- 修改密码
alter user scott
identified by tiger;  
--创建角色
create role zu;
--为角色赋予权限
Grant create table ,create session,create view,create procedure 
To zu;
--将角色赋予用户
Grant zu To scott,num1,num2;
集合的操作
--并集  union  重复的只显示一次
--首先创建一个部门为20的表
CREATE TABLE emp20 AS SELECT * FROM emp WHERE deptno=20 ;
SELECT * FROM emp union SELECT * FROM emp20 ;
--并集 union all 重复的也显示
select * from emp20 union  all select * from emp; 
----交集 intersect 只显示重复的
select * from emp20 intersect select * from emp;
----差集  minus 显示对方没有的
select * from emp  minus select * from emp20;
标签:between into 名称 对象 com 管理员 admin -- ibm
原文地址:http://www.cnblogs.com/xuekai/p/7241814.html