发现时隔一个月,我再一次连登陆都忘了怎么登陆了,于是乎写个小笔记好了。
前期环境配置:
sqlplus system/oracle
@1_drop_user_and_create_user.sql -- 运行脚本
conn hr/oracle -- 切换用户
@2_hr_cre.sql
@3_hr_popul.sql
@4_hr_idx.sql
登陆
sqlplus system/oracle
大一的时候学过点mysql,所以看到oracle语句感觉非常的熟悉……
但我属实不想回忆了……
啊,你问我mysql和oracle的区别?出门左转自己搜
言归正传,开始实操
输出某张表的全部内容
SELECT *
FROM departments;
换行频繁,调整单行显示
set line 200
输出某表中的某列
SELECT department_id, location_id
FROM departments;
批量修改输出的值但是不修改表的值(四则运算)
SELECT last_name, salary, salary + 300,salary*12+100,12*(salary+100)
FROM employees;
oracle允许字段为空(NULL),除非是主键或定义了非空
SELECT last_name, job_id, salary, commission_pct
FROM employees;
如果运算的字段为NULL,则输出为空
SELECT last_name, 12*salary*commission_pct
FROM employees;
定义别名(AS或者双引号)
SELECT last_name AS name, commission_pct comm
FROM employees;
双引号的话可以定义为大写字母和空格
SELECT last_name "Name", salary*12 "Annual Salary"
FROM employees;
连接符,将两列合并输出
SELECT last_name||job_id AS "Employees"
FROM employees;
连接的时候加入字符
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;
在默认情况下,一个页(page)的大小为10,所以每输出十条就会有一个换行+一个新的表头
通过set pagesize命令,我们可以大幅增大一个页的大小
set pagesize 1000
相同值处理
在SQL中,如果有多行的值完全相同,在默认情况下将会全部输出
SELECT department_id
FROM employees;
我们可以在SELECT中增加一个DISTINCT指令,这样就可以只让SQL输出不同的数值了
SELECT DISTINCT department_id
FROM employees;
查看表结构
DESCRIBE employees
结束
困困