其他分享
首页 > 其他分享> > 2.基础

2.基础

作者:互联网

一、基础 

 1.为某张表添加一列

alter  table table_name add column_name column_type;

2.查看表的结构

desc  table_name;

3.修改表中的列的类型、长度

alter table table_name modify column_name column_type;

4.删除表中的列

alter table table_name drop column column_name;

5.to_date('日期',对应输入的格式);

  eg:  to_date('20200805','yyyymmdd');

 

6.查询空值:使用 is null

select * 
from student
where  sname is null;

7.创建和已存在的表 结构数据均相同的表

create table  table_name 
as
select  * from student;

8.删除数据表中的所有数据 但保留表的结构

truncate table table2_name;--包含提交工作,不可回滚
delete  from  table_name; --需要commit 才能删除,可以回滚

9.为空表插入 数据同已存在的表(也可添加where 限制 添加符合条件的若干行数据插入)

insert into table_name1
select *  from table_name2;

10.修改或添加的数据中 存在 单引号时 ,使用两个单引号 表示一个单引号

update student 
set  sname =' A''B';
where sno = 4;

11.当列名的别名 存在空格时,为别名加上双引号

select sno " 学 号" 
from student

 二、常用函数

initcap     --将字符串的第一个字符改成大写
add_months(sysdate,1)      --将日期进行增加 一个月
mouths_between(sysdate, to_date('20200805','yyyymmdd'))     --计算两个时间相差的月数
select extract(year/month/day from sysdate) from dual;      --提取出 时间的年份或月份或日期
last_day(sysdate)        --取出时间中该月份的最后一天 

nvl(emp1,emp2)   --emp1为空 返回emp2 ,否则返回emp1
nvl(emp1,emp2,emp3)   --emp1不为空 返回emp2,否则返回emp3

集合操作

使用集合操作符时,必须确保不同查询的列的个数、数据类型匹配

union --获取两个结果集的并集,自动去掉重复行,以第一列的结果进行排序
union all  --与union的区别就是 包含重复行
minus  -- 获取两个结果集的差集,只显示第一个集合中的存在的数据intersect --获取两个结果集的交集

重命名

--重命名表:
rename table_name1 to table_name2; --重命名列
alter table table_name rename column col_oldname to col_newname;

sql语句的执行顺序

from--where --group by--having--select --order by

 

三、完整性约束

维护数据的完整性:not null、unique、check、primary key、foreign key五种

 

 

 

 

  

标签:name,--,基础,column,emp1,table,select
来源: https://www.cnblogs.com/sun1997/p/13441567.html