数据库存储数据结构
网状结构
层次结构
二维表结构:二维表结构可以清晰的将数据与数据之间的关系表述清楚
oracle:大型数据库管理系统
mysql:中小型
DB2:中小型
Acess:小型
Sql Server:大型数据库
oracle的服务:(需要开启的服务)
orcaleServiceorcl:orcale启动服务
OracleOraDb11g_home1TNSListener:oracle监听器服务
OracleDBConsoleorcl:控制台服务
oracle账户:
sys:超级管理员
system:管理员
scott:普通用户 默认密码:tiger
oracle修改密码:
复制代码
在cmd命令行中使用命令:sqlplus / as sysdba
然后使用命令:
alter user 用户名 identified by 新密码;
在cmd命令行中使用命令:sqlplus /nolog
然后使用命令:conn as sysdba
然后输入一个已知的用户名和密码
然后使用命令:
alter user 用户名 identified by 新密码;
复制代码
oracle目录及卸载
1、oracle的目录介绍:
oradata:数据库存储文件的目录
db_home:
network >admin:配置网络服务和监听器服务
jdk:oracle自带jdk
deinstall:卸载命令
jdbc:与java交互的jar包
2、oracle的卸载:
使用oracle自带的程序卸载
删除app目录
删除注册表
删除环境变量
使用别名
as可以省略不写,如果有特殊字符获取空格使用双引号添加别名
select ename 姓名,job 工作,sal*12 年资,sal*12+3000 年薪 from emp 直接在字段后面添加别名
select ename "姓名",job 工作,sal*12 ’年资’,sal*12+3000 年薪 from emp 使用双引号添加别名,不能使用单引号
select ename as 姓名,job "工作",sal*12 年资,sal*12+3000 年薪 from emp 使用as关键字添加别名
select ename "姓 名",job 工作,sal*12 年资,sal*12+3000 年薪 from emp 如果别名中有空格或者其他特殊字符,使用双引号
使用链接符:
select ename,job,sal from emp;
select ename||job,sal from emp; 使用||符号进行字符链接
select ename||' 的工作是 '||job||' 并且月工资是 '||sal from emp; 字符链接,普通字符使用单引号
去除重复 distinct
select * from emp;
select job from emp--发现工作是重复的,而工作种类是需要去除重复的
排序
复制代码
select 字段名,字段名...from 表名 order by 字段名
select ename,job,sal from emp order by sal; 使用order by排序
select ename,job,sal from emp order by sal desc; 使用desc关键从大到小排序
select ename,job,sal from emp order by sal asc; 使用asc关键从小到大排序,默认是从小到大排序
select * from emp order by sal,ename 多字段作为排序条件的时候,优先按照第一个字段排序,然后依次按照其他字段排序。
select ename,job,sal 工资 from emp order by 工资 使用别名
select ename,job,sal from emp order by sal*12 使用算术表达式
复制代码
简单的where子句
使用where条件进行结果筛选
语法:select * from 表名 where 条件;注意:条件中字段值区分大小写,字段名不区分大小写,字段值使用单引号括起来
1、在where中使用算术表达式 = ,< , > ,>= ,<= ,<>
2、使用order by 对筛选结果进行排序,order by 出现在where后面
复制代码
查看工资等于1250的员工信息
select * from emp where sal='1250'--筛选条件是个数字也可以使用单引号
查看工作等于CLERK的员工信息
select * from emp where job='CLERK'--在筛选条件中字段值如果是字符需要加上单引号
select * from emp where job='clerk'--在sql语句中字段的值是区分大小写的
select * from emp where JOB='CLERK'--在sql中字段是不区分大小写的
查看工资大于1250的员工姓名和工作
select ename,job ,sal from emp where sal>'1250' order by sal--使用order by 对筛选结果进行排序,order by 出现在where后面
查看工资大于等于2000的员工信息
select * from emp where sal>=2000;
查看工资小于等于2000的员工信息;
select * from emp where sal<=2000
查看工资不等于1500的员工信息
select * from emp where sal<>1500 order by sal
查看入职日期在81年后的员工信息
select * from emp where hiredate>'1981年12月31号'
select * from emp where hiredate>'1981/12/31'
select * from emp where hiredate>'31-12月-1981'--使用日期的默认格式查询符合要求的数据,日-月-年
复制代码
where子句使用关键字
1、and 用于多条件的与筛选:select * from 表名 where 条件 and 条件 and 条件....
2、or 用于多条件的或筛选: select * from 表名 where 条件 or 条件 or 条件....
3、in 用于多条件的或筛选: select * from 表名 where 字段名 in(值,值,值....)
4、like用于模糊查询: select * from 表名 where 字段名 like '%值%' 包含
5、is null 和is not null 用来判断字段是否为空 select * from 表名 where 字段名 is null
复制代码
--查询工资在2000-3000之间的员工信息
select * from emp where sal>=2000 and sal<=3000--使用and关键字进行"与"的多条件筛选;
select * from emp where sal between 2000 and 3000;--使用between and 关键字进行筛选;
--查询工作为SALESMAN,ANALYST,MANAGER的员工信息
select * from emp where job='SALESMAN' or job='ANALYST' or job='MANAGER'--使用or关键字进行"或"的多条件筛选
select * from emp where job in('SALESMAN','ANALYST','MANAGER');--使用in关键字进行"或"的多条件筛选
select * from emp where job='ANALYST'
--查询姓名中包含s的,以s开头的,以s结尾的,第二个字符为A的。
select * from emp where ename like '%S%';--使用like关键字,姓名中包含S的,%代表任意多个字符
select * from emp where ename like 'S%';--使用like关键字,以S开头的
select * from emp where ename like '%S';--以S结尾的
select * from emp where ename like '_A%'--使用"_"指定位置包含指定字符的信息,"_"代表任意一个字符
--------------查询名字中包含下划线的用户信息
select * from emp where ename like '%A_%'escape 'A';--使用escape关键字将普通字符设置成为转译字符。
--查询有津贴的员工信息
select * from emp where comm is not null;
select * from emp where comm is null;--查询没有津贴的员工信息
复制代码
函数
--查询工作为SALESMAN,MANAGER并且工资大于2500的员工信息
--1、使用小括号提升where筛选条件的执行优先级别
--2、and的优先级别高于or
select * from emp
select * from emp where job='SALESMAN' or job='MANAGER' and sal>2500
select * from emp where (job='SALESMAN' or job='MANAGER') and sal>2500
-----------------------------------------------------------------------------------------------------------
使用函数 单行函数 多行函数 转换函数 其他函数
--单行函数:不改变原始数据,只改变结果
---1、字符函数
select * from emp;
select INITCAP(ename) from emp;--initcap函数将首字母大写
select lower(ename)from emp;--lower 字母小写
select replace(ename,'S','M') from emp;--replace 替换
--2、数值函
转载:https://blog.csdn.net/weixin_57763462/article/details/128894629