oracle学习,基础语法(一)

--Oracle 默认的用户名 scott 密码 tiger
--系统表 用户表
--create table
create table my_oracle
(
  name_n varchar2(10),
  age number(3),
  salary number(7,2),
  birthday day
);
--日期day 格式:日-月-年
--查询该用户里有哪些表 select * from user_tables;
--查看表结构desc my_orale;
--表里添加记录 日期类型按字符串添加
--insert into my_oracle values('crina',27,12345,'16-12月-1987');
--insert into my_oracle values('crina',27,null,null);
--insert into my_oracle(name_n,age) values('crina',27);
--null占位符,可以替代任何数据类型
--提交数据命令 commit;
--homework
create table person
(
  id_p number(1),
  username varchar2(10),
  address varchar2(100),
  salary number(10,2),
  departmentid number(5)
);
desc person;
insert into person values(1,'张三','哈尔滨',6000,1);
insert into person values(2,'李四','北京',8000,1);
insert into person values(3,'孙武','大连',5000,2);
insert into person values(4,'张三丰','重庆',4000,2);
insert into person values(5,'张三丰','重庆',4000,2);
insert into person values(6,'刘德华','上海',7000,2);
--向Oracle中插入时间类型
1.插入当前时间:sysdate
2.插入指定时间:按照Oracle的日期格式插入字符串Oracle会自动转换成日期类型,如'23-5月-2014'
3.插入指定格式的时间:需要使用to_date()函数,如to_date('2009-12-23','YYYY-MM-DD')
注意:Oracle中存储的日期包括世纪,年,月,日,时,分,秒。上面第2,3种插入方式时间默认00:00:00
insert into my_oracle values('crina',27,12345,to_date('1987-12-16 08-30-30','YYYY-MM-DD HH24-MI-SS'));
select * from my_oracle;--这样查询不会具体显示时分秒,Oracle会将时间格式转换成Oracle本身的时间格式
select to_char(birthday,'YYYY-MM-DD HH24-MI-SS') * from my_oracle;--这样具体的时分秒就可以显示出来了
------select用法
select * from 表名/视图/... --查看表所有的段内容
select 段1,段2... from 表名  --查看指定段内容,如:select name_n,age from my_oracle;
--查询的时候可以使用算术数学表达式,如:获得年薪 select salary,salary*12 from my_oracle;
--字符串连接操作符 ,将列或字符与其他列连接,用双竖线表示(||),产生的结果是另一个字符表达式
select last_name || job_id from employees;
select last_name || 'work at' || job_id from employees;
--定义字段的别名
1.改变列的标题头
2.用于表示计算结果的含义
3.作为列的别名
4.如果别名中使用特殊字符,或者是强制大小写敏感,或有空格时,都需加双引号
select name_n n,salary s from my_oracle;
select last_name || 'work at' || job_id aa from employees;
select last_name || 'work at' || job_id "a aa" from employees;
--去除重复行,查询结果不显示重复行,但数据并没有删除
--1.使用DISTINCT关键字可以从查询中清除重复行 如:
select DISTINCT name_n from my_oracle;
--2.DISTINCT的作用范围是后面所有字段组合
select DISTINCT name_n,age from my_oracle;
--限定所选择的记录 WHERE
1.使用where子句限定返回的记录
2.where子句在from之后
如: select * from my_oracle where salary > 5000;
--where中的可以使用的比较运算符
=,>,>=,<,<=,不等于<>
between ...and... 在两值之间(包含)
IN(list) 匹配列出的值
like 匹配一个字符模式
IS NULL 是空值
如:
--between...and...
select * from my_oracle where salary >= 200 and salary <= 1000;等价于
select * from my_oracle where salary between 200 and 1000;
----in
查询工资是100和800的name_n
select name_n from my_oracle where salary in(100,800);
----like运算符
1.使用like运算符执行模糊查询
2.查询条件可包含文字字符或数字
(%)可表示零或多个字符
(_)可表示一个字符
select * from my_oracle where name_n like '张%' 
select * from my_oracle where name_n like '张_'--姓张,名字2个字的
select * from my_oracle where name_n like '_张%'
----查询包含空值的记录
select * from my_oracle where name_n is null
select * from my_oracle where name_n is not null
----逻辑运算符
AND 组合条件都是TRUE,返回TRUE
OR  组合条件之一是TRUE,返回TRUE
NOT 如果下面条件是FALSE,返回TRUE

select * from employees where salary >= 1000 AND name_n != 'tom';
select * from employees where jod_id NOT IN('manager','analyst');
----优先级规则
次序      运算符
1         所有比较运算符
2         NOT
3         AND
4         OR
括号跨越所有优先级规则
----对查询数据排序
1.使用order by子句将记录排序
  ASC:升序,缺省
  DESC:降序
2.order by 子句出现在select语句的最后
如:
select * from my_oracle order by salary;默认是升序
select * from my_oracle order by salary desc;降序
多字段排序
select * from my_oracle order by age,salary desc;按照age降序排列,age相同的按salary降序排列
----修改,删除数据
update 表名 set 字段 = 值,字段 = 值 where 条件
delete from 表名 where 条件
或者
delete 表名 where 条件
delete 表名 --删除所有记录,表存在
drop table 表名 --删除表  查询后显示 表或视图已不存在







  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值