-
创建表操作
A. 不是超级用户登录的话是没有创建表权限的,需要超级用户授权才能创建
– a.授权 打开SQL*PLUS 输入用户 sqlplus /as sysdba 按两次enter键
– b.输入grant create session to 用户;–点击enter键
– c.授权完毕。
B.创建表
– 打开sql developer.exe登录账户并输入口令create table 表名( 属性1: 数据类型, 属性2: 数据类型); 点击f9运行
eg:
create table student( umber int primary key,--定义主码 sname char(6));
-
创建视图(在scott自带表emp的基础上进行操作)
A. 同样需要授权
在SQL*PLUS用超级账户登录后输入grant create view to user;
B.创建视图
create view table1
as
select empno,ename,job,sal
from emp
where sal>2000;
该视图的意思是从表emp中找到工资大于2000的,并且创建新表table1,里面的属性有empno,ename,job,sal。
-
内置函数
A. 字符函数
a. lower()函数,将表中属性为大写的字符转化为小写
select empno,lower(ename),lower(job) from emp;
—将大写的名字和工作转化为小写在表中显示出来,注意原始表中的信息依旧未变
b. INITCAP() —>属性首字母大写函数
select empno,initcap(ename),lower(job) from emp;
c. LTRIM(‘目标字符串’,‘要删的字符串’) ---->左裁剪函数
select ltrim('sofency','so') from dual;
—dual是内置数值函数下文解释
d.同理右裁剪函数rtrim('目标字符串','要删除的字符串')
和上面一样
B.数值函数
abs(),ceil(),floor(),power(),mod(),round(),trunc()
下面通过一个语句解释这些函数
select abs(-1),ceil(2.2),floor(3.3),power(2,3),mod(5,2),round(100.256),trunc(2.332,1) from dual;
C. 日期函数
----- a. months_between(‘日期1’,‘日期2’)函数
select months_between('01-1月-1998','24-6月-1998') from dual;
—输出两个日期相差的月份(double类型)
----- b. add_months(‘日期’(char),数字(int))函数
select add_months('01-2月-1998',11) from dual;
前面的日期加上后面的月份后的日期
----- c. next_day(‘日期’,‘星期二’)向下查询最近的星期二日期
select next_day('17-4月-2019','星期二') from dual;
---- d. last_day(‘日期’) 返回该月份的最后一天 可以用来判断某个月份有多少天
select last_day('06-4月-19') from dual;
----e. round()函数
select round(to_date(‘01-7月-03’),‘YEAR’) from dual;–按月的一半来四舍五入,01-1月-04’
–如果月份超过一半显示把后面的日期给删了显示下一年的1月1日,否则返回当年的1月1
select round(to_date(‘19-7月-03’),‘MONTH’) from dual;–按日的一半来四舍五入
–如果日的天数大于该月天数的一半,显示下月1日,否则返回该月1日
select round(to_date(‘18-4月-19’),‘DAY’) from dual;–显示就近的周日
—如果该日离哪个星期日的天数小于3的话就显示哪个星期日
18距离21中间就2天,所以显示21