--更改系统时间格式
alter session set nls_date_format='yyyymmdd';
--按sno升序排列
select * from student order by SNO;
--按sno降序排列
select * from student order by SNO desc;
--插入学号为3,姓名为null(空值),生日为'19810223',但是要把生日使用to_date转化一下。
insert into student values(3,null,to_date('19810223','yyyymmdd'));
--还可以换一种写法,直接空格
insert into student(sno,birthday) values(4, to_date('19820223','yyyymmdd'));
--查找姓名为null的学生信息
select * from student where sname is null;
--还可以进行asc排序
select * from student where sname is null order by sno;
--创建表结构、内容和student一样的student2,实际上就是复制。
create table student2 as select * from student;
--创建一个表结构和student一样的student3,但是过滤掉内容。
create table student3 as select * from student where 1>2;
--关于数据库中关键字的区分,可以看这一篇文章
聊聊数据库中的关键字——字段、属性、列、元组、记录、表、主键、外键-CSDN博客
--截断student2,就是删除表的内容,保留表结构。
truncate table student2;
--把student表中的所有记录全都插入到student2里面去。(还可以在student后面加上where条件,使满足这些条件的若干行插入到student2中去。)
insert into student2 select * from student;
--更改学号等于3的sname为’AA’,怎么写?
update student2 set sname='AA' where sno=3;
--删除student表中学号等于4的记录。
delete student where sno =4;
--可以使用count(*)来查询student表中记录有多少行。
select count(*) from student2;
--查询student2中姓名非空的有多少行。
select count(*) from student2 where sname is not null;
--查询student2中sname为A的记录(需要注意sql中sql的语句语法不区分大小写,但是字符是区分大小写的)。
select * from student2 where sname='A';
--或者可以使用upper()转换字段为大写,这样无论表中字段大写还是小写,都能查询的到。
select * from student2 where upper(sname)='A';
--或者使用lower()转换成小写查询。
select * from student2 where lower(sname)='a';
--更改student2表中sno为1 的sname为A’B。(sql中使用’’表示一个’)。
update student2 set sname='A''B' where sno=1;