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