当前位置:   article > 正文

oracle的从入门到精通第一篇(oracle的基本概念与crud)_oracle+入门到精通

oracle+入门到精通

概念

什么是oracle?

Oracle 数据库 = 神谕 = 它的第一个客户 = CIA

什么是sqlplus

sqlplus = 让我们和数据库进行交流的工具
regedit = 注册表
services.msc = 服务

oracle几大语言(SQL |DDL|DML|DQL|DCL|TCL)

SQL = Structured Query Language = 结构化查询语言

DDL = Data Defination Language = 数据定义语言

create 创建 alter 修改 drop 删除 truncate 截断

DML = Data Manipulation Language = 数据操纵语言

insert 插入 delete 删除 update 更新

DQL = Data Query Language = 数据查询语言

select 查询

DCL = Data Control Language = 数据控制语言

grant 授权 revoke 取消授权

TCL = Transaction Control Language = 事务控制语言

commit 提交 rollback 回滚 savepoint 保存还原点

oracle用户相关操作(加锁|解锁|授权|取消授权)

给用户解锁:

alter user scott account unlock;
  • 1

给用户加锁:

alter user scott account lock;
  • 1

创建新用户:

create user ET1912 identified by etoak;
  • 1

给用户修改密码:

alter user scott identified by et;
  • 1

给用户赋予权限:

grant dba to scott;
  • 1

给用户取消授权:

revoke dba from ET1912;
  • 1

删除用户:

drop user ET1912;
  • 1

查看当前用户:

show user;
  • 1

切换用户:

conn 用户名/密码;
  • 1

小练习:

在scott用户下创建一个新用户ET,在ET下创建一个新用户ET1912,并连接

oracle当中的数据类型:

字符型:

varchar2(20) 可变长度 0-4000个字节
char(20) 固定长度 0-2000个字节
char(1) 男/女 1/2
long

数值型:

number()
number(5)
number(5,2)
number(5,-2)

日期型:

date
timestamp 时间戳(包含毫秒数)

oracle表相关操作

创建一张表:

create table student(
name varchar2(20),
birthday date,
sal number(5)
);
  • 1
  • 2
  • 3
  • 4
  • 5

练习:
创建一张teacher表,字段:老师姓名tname,老师薪资tsal(薪资必须六位数及以上),生日tbirthday

查看当前用户下有哪些表:

select table_name from user_tables;
  • 1

查看当前表结构:

desc student;
  • 1

修改表名:

alter table student rename to stu;
  • 1

修改字段名:

alter table stu rename column sal to salary;
  • 1

建表以后 增加字段:

alter table stu add email varchar2(20);
  • 1

建表以后 修改数据类型:

alter table stu modify email varchar2(50);
  • 1

建表以后 删除字段:

alter table stu drop column email;
  • 1

建表以后 删除表:


drop table student3;                
drop table student2 purge;     
truncate table student2;     
  • 1
  • 2
  • 3
  • 4

drop和truncate的区别?

1.表结构
2.表数据
3.表空间

练习:
1.把teacher表名改为tea
2.新增字段aihao
3.aihao字段名修改为hobby
4.删除字段hobby

查询数据:select

select * from student;
select name from student;
select name,salary from student;
select name,salary from student where salary >= 8000;
  • 1
  • 2
  • 3
  • 4

插入数据:insert

insert into student values('ET1912_zs',sysdate,5000);
insert into student (name,salary) values('ET1912_ls',6000);
  • 1
  • 2

删除数据:delete

delete from student;
delete from student where name = 'ET1912_zs1';
  • 1
  • 2

更新数据:update

update student set salary = salary + 1000;
update student set salary = salary + 1000 where name = 'ET1912_zs';
update student set name = 'ET1912_zs1',salary = salary + 1000 where name = 'ET1912_zs' and salary = 7000;
  • 1
  • 2
  • 3

小练习:

1.插入数据:
1)张老师,当前时间,12222
2)周老师, ,13333
3)卢老师,当前时间,14444
2.更新数据:
张老师和卢老师薪资涨30%

like:
%:代表任意位的任意字符
_:代表一位上的任意字符

select name,salary from student where name like 'ET1912%';
select name,salary from student where name like '%ET%';
select name,salary from student where name like 'ET1912_';
select name,salary from student where name like 'ET1912_%';
  • 1
  • 2
  • 3
  • 4

练习:
1.插入数据
1)张老师,当前时间,15555
2.更新数据
姓张的老师和姓卢的老师薪资涨30%

escape:逃离符

通过后指定一个字符位进行逃离,来保证like之后的字符看作是普通字符

select name,salary from student where name like 'ET1912,_%' escape ',';
select name,salary from student where name like 'ET1912._.%' escape '.';
  • 1
  • 2

条件:
and:并且 同时成立
or:或者 有一个条件成立即可
between and:闭合区间

关系比较:

< >= <= !=
<>

运算符:

      • / mod(x,y)

课后作业

–1查询20号部门的所有员工信息
–2查询所有工种为CLERK的员工的工号、员工名和部门名。
–3查询奖金(COMM)高于工资(SAL)的员工信息
–4查询奖金高于工资的20%的员工信息
–5查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息
–6查询所有工种不是MANAGER和CLERK,且工资大于或等于2000的员工的详细信息
–7查询有奖金的员工的不同工种
–8查询所有员工 工资和奖金的和
–9查询没有奖金或奖金低于100的员工信息
–10查询各月倒数第2天入职的员工信息
–11查询员工工龄大于或等于10年的员工信息
–12查询员工信息,要求以首字母大写的方式显示所有员工的姓名
–13查询员工名正好为6个字符的员工的信息
–14查询员工名字中不包含字母“S”员工
–15查询员工姓名的第2个字母为“M”的员工信息
–16查询所有员工姓名的前3个字符
–17查询所有员工的姓名,如果包含字母“S”,则用“s”替换
–18查询员工的姓名和入职日期,并按入职日期从先到后进行排列
–19显示所有的姓名、工种、工资和奖金,按工种降序排列,若工种相同则按工资升序排列
–20显示所有员工的姓名、入职的年份和月份,若入职日期所在的月份排序,若月份相同则按入职的年份排序
–21查询在2月份入职的所有员工信息
–22查询所有员工入职以来的工作期限,用“月**日”的形式表示。(不做)
–23查询至少有一个员工的部门信息
–24查询工资比SMITH员工工资高的所有员工信息
–25查询所有员工的姓名及其直接上级的姓名
–26查询入职日期早于其直接上级领导的所有员工信息
–27查询所有部门及其员工信息,包括那些没有员工的部门
–28查询所有工种为CLERK的员工的姓名及其部门名称
–29查询最低工资大于2500的各种工作

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号