Oracle基本SQL语句

删除表:
drop table 表名

修改表结构:
删除列:
alter table 表名 drop column 列名

增加列:
alter table 表名 add(列名 数据类型, 列名 数据类型.....)

修改列的数据类型:
alter table 表名 modify(列名 数据类型)

主键(Primary Key--PK):主键在表中能够唯一表示一条记录的字段,主键唯一并且不能为空。
外键(Foreign Key--FK):外键主要用来维系多表之间的关联关系,一张表中的外键,必定是另一张表中的主键。

增加主键:
alter table 表名 add constraint 键名 primary key(列名)

删除键:
alter talbe 表名 drop constraint 键名

增加外键:
alter table 表名 add constraint 键名 foreign key(列名) references 关联表名(列名)

插入语句:
insert into 表名 (列1, 列2.....) values(值1, 值2.....)

如果要插入的是一个表中的全部字段数据:
insert into 表名 values(值1, 值2......)

更新表中数据:
update 表名 set 列=值, 列=值....... [where 条件]

删除表中数据:
delete from 表名 [where 条件]

删除表中数据还可以使用truncate
truncate table 表名

注意,在更新和删除数据时,一定要在后面写条件,除非要做删除全表数据或更新全表数据。

truncate和delete的区别:如果使用delete删除表中数据,会产生日志文件,删除的数据是可以恢复,所以相对来说删除速度慢,truncate正好相反,在删除表中数据时不会产生日志文件,数据不可恢复,所以相对来说删除速度快。

sysdate:表示当前的系统日期和时间
在Oracle中提供了一张叫做dual表,它是一张临时表,主要用来做测试用。

在Oracle中默认的日期格式是:“日-月-年”

伪列:
rowid:表示一条记录在内存中的地址
rownum:行号,通常用来做分页

在查询表的时候还可以给表起别名,在表名后空一格,然后写别名,在查询表中字段时可以使用“表别名.字段名”的形式。
除了给表起别名外,还可以给列起别名,两种形式,可以在列名后用as来加入别名,也可以在列后空一格,然后写别名。


image.png

Oracle基本SQL语句_第1张图片
image.png

在查询的时候默认列名都是大写字母,可以在起别名的时候用双引号括起来,就可以加入小写字母的别名了。


Oracle基本SQL语句_第2张图片
image.png

在Oracle中的字符串连接符是“||”


Oracle基本SQL语句_第3张图片
image.png

在查询的时候还可以对列进行四则运算,
查询10年之后学生表中每名学生的年龄:


image.png

查询学生表中每名学生出生后一个月(假定一个月为30天)的日期:


image.png

在查询语句中还可以加入查询条件:
select 列名from 表名 where 查询条件
在条件中可以加入关系运算符:< > <= >= != =
查询班级号为“1”的所有学生信息:

Oracle基本SQL语句_第4张图片
image.png

还可以在条件中使用逻辑运算符:and or
查询数学成绩和英语成绩都及格的学生信息


Oracle基本SQL语句_第5张图片
image.png

在查询条件中还可以使用in来匹配查询条件
查询数学成绩为60,70,80的学生信息:


Oracle基本SQL语句_第6张图片
image.png

在查询条件中,可以使用between...and来限制查询范围
查询英语成绩在80到90之间的学生信息:


Oracle基本SQL语句_第7张图片
image.png

在查询条件中,还可以使用is null 和 is not null来判断是否为空值。
查询有数学成绩,并且英语成绩在80分以上的学生信息:


Oracle基本SQL语句_第8张图片
image.png

通配符:
_ 表示任意一个字符
% 表示0到n个任意字符

查询学生表中,姓张并且姓名是两个字的同学:


Oracle基本SQL语句_第9张图片
image.png

查询学生表中不姓张的同学信息:


Oracle基本SQL语句_第10张图片
image.png

你可能感兴趣的:(Oracle基本SQL语句)