**
su - oracle #切换到oracle用户
sqlplus / as sysdba #作为当前用户进入数据库 ,目前数据库还没有启动`
startup: #打开数据库
sqlplus / as sysdba #作为超级用户进入数据库,看到Connected to:说明已连接到带有企业版的数据库
@utlsampl.sql ## @=调用脚本+脚本名字,执行这个脚本
***在当前路径下调用脚本可以用相对路径,不在当前目录下的脚本,需要绝对路径
(每次执行@utlsampl.sql 这个脚本,就会创建普通用户,建了几张表和数据)
SQL>conn scott/tiger #连接scott用户/密码
**SQL语言规则:
查看多列用逗号“,”隔开
语句结束用分号“;”
不区分大小写
个子句一般要分行写
关键字不能被缩写也不能分行
使用空格提高语句的可读性
1、select 格式
SELECT #查找
* #(所有列)、列名、表达式等列信息
FROM #从哪个表中选择
select * from tab; #查看所有表数据
select * from dept; #查询部门所有列
select ,deptno,dname from dept; #查询部门的部门号和部门名称,按输入顺序列输出
select * from emp; #查找emp表中的所有列信息
2、列去重查询: distinct
select distinct deptno from emp; #去重查找emp表的部门编号
select distinct comm from emp; #去重查询emp表中的奖金列信息,空值null不能去重
3、算数表达式:+ - * /
运算符优先级:乘除高于加减,同一优先级运算符从左向右执行,括号内的运算先执行
select ename,sal,sal+2000 from emp; #只有数字列才能使用表达式
select ename,sal,sal+2000,200+300 from emp; #查找200+300=常量,输出500常量
select ename,sal,comm,comm+10000 from emp; #null空值的运算是没有输出的,这里与0相区别
select ename,12*sal+nvl(comm,0) from emp; #如果查找的的列含有空值null,需要nvl(列名,0)转换成数值0,之后才可以参加数值运算
select ename emp_name,sal*12 as "Sal" from emp; #用别名输出,代替列名
列名 别名 列名 as 别名
**如别名包含空格或特殊字符,或区分大小写,给列起别名用双引号包裹,剩下sql中都用单引号’’
5、连接符 || 合成一列
select 'my name is',ename from emp; #输出2列
select 'my name is' || ename from emp; #:输出1个合并列
6、字符串 (需要加单引号,数字不需要)
select 'a' 200,'2019-05-10' from dept; #可以数字、字符、字母
DESC emp;
8、定长与变长的区别
Char(10) 定长:确定是多少,就不再变了,长度超出则报错!以空间换时间
Varchar2(10) 变长:先判断多长,再存储!以时间换空间!