Oracle 常用语句1

-- 我是注释信息  sql语句
-- 创建用户: create user 用户名 identified by 密码;
create user jack identified by j123;

-- lacks CREATE SESSION priviledge 用户没有权限连接数据库

-- 授权用户: grant 权限1,权限2 to 用户名;
-- 管理员 dba
-- 普通用户 connect,resource
grant connect,resource to jack;

-- 收回权限: revoke 权限1,权限2 from 用户名;
revoke connect,resource from jack;

-- 修改用户密码
-- alter user 用户 identified by 新密码;
alter user jack identified by jack;

-- 锁定用户
-- alter user 用户 account lock;
alter user jack account lock;

-- 解锁用户
-- alter user 用户 account unlock;
alter user jack account unlock;

--删除用户: drop usre 用户 cascade;
drop user jack cascade;




--oracle 数据类型

-- number(m[, n])  数值类型,最高精确m位,小数点后面精确n位
-- char(m)    固定长度字符类型,长度是m个字节
-- varchar2(10) 可变长度字符类型,最长m个字节
-- date         日期时间类型,精确到秒
-- timestamp    精度更高的日期时间类型,精确到小数秒

-- 约束
-- 主键约束 primary key
-- 唯一约束 unique
-- 非空约束 not null
-- 检查约束 check()
-- 默认约束 default()
-- 外键约束 references 表(列)

--创建表

create table classinfo(
cid  varchar2(10) primary key,
ctype varchar(10),
cdate date
);

create table student(
sno    number(3) primary key, 
--sname  varchar2(40) unique,
sname  varchar2(40) default ('佚名'),
--sex    char(2) not null,
--sex    char(2) check(sex='男' or sex='女'),
sex    char(2) check(sex in('', '', '')),
--age    number(2) check(age >= 20 and age <= 30),
age    number(2) check( age between 20 and 30 ),
birthday date,
sclass varchar2(10) references classinfo(cid)
);

select * from classinfo;
select * from student;

-- 创建商品信息表
-- 字段如下:  
-- 商品编号
-- 名字
-- 价格
-- 库存
-- 商品类别编号
-- 出厂日期

create table goods(
gno number(3),
gname varchar2(20),
price number(6, 2),
kucun number(5),
leibie varchar2(10),
outdate date
);


-------------------------------------
alter user scott account unlock identified by tiger;

--emp 员工信息表(employee)
-- empno 员工编号
-- ename 员工姓名
-- job   职位
-- mgr   主管员工编号(manager)
-- hiredate 入职日期
-- sal   工资(salary)
-- comm  提成
-- deptno   部门编号(department number)

-- select 查询语句
-- select 字段 from 表 [where clause(where 字句)];

   -- * 代表所有字段
   -- e 表别名  代表 emp
select * from emp e;


select ename,hiredate from emp e;

select emp.ename, emp.sal from emp;

select e.ename,e.sal from emp e;

   -- 列别名
select ename as 姓名, sal as 工资 from emp;
select ename 姓名, sal 工资 from emp;

-- 关系运算符
-- >   大于
-- >=  大于等于
-- <   小于
-- <=  小于等于
-- =   相等
-- != 或者 <>  不等

-- 逻辑运算符
-- and  cond1 and cond2
-- or   cond1 or cond2
-- not  not cond

-- 查询工资超过2000的员工信息
select * from emp e where e.sal > 2000;

-- 查询Scott的工资
-- 字符串用单引号,而且区分大小写
select e.sal from emp e where e.ename = 'SCOTT';

-- 查询30号部门工资低于1000的员工信息
select * from emp where deptno = 30 and sal < 1000;

-- 查询30号部门和工资低于1000的员工信息
select * from emp where deptno = 30 or sal < 1000;

-- 查询工资大于等于3000的员工信息
select * from emp where sal >= 3000;

select * from emp where not sal < 3000;

 

posted @ 2018-03-05 12:03  藤上小冬瓜  阅读(177)  评论(0编辑  收藏  举报