oracl语句

基础信息

主键:数据库表中唯一标识,不可重复,代表表中的唯一一条数据。

外键(关联关系):两个表之间有关联,通过外键关联

数据库中注释用  --

数据类型:

varchar2(20)    可存储字符串,(20)代表长度为20   (10个汉字或20个英文字母)

number(4)      可存储数字,(4)代表长度为4的整数     (0---9999)

number(7,2)     可存储数字,(7,2)代表长度为7位,精度为2的小数 (0.00---9999999.99)

char(2)         可存储字符,(2)代表长度为2     (存ab)

date            可存储日期格式     (2020-12-16)

学生表:student

 

字段

字段名

数据类型

XH

学号

number(4)

XM

姓名

varchar2(20)

SEX

性别

char(2)

BIRTHDAY

出生日期

date

SAL

奖学金

number(7,2)

CLASSID

班级号

number(2)

建表语句

create  table  表明(字段1    数据类型a,字段2     数据类型b,字段3   数据类型c,.....)

 

学生表创建:

create table  student(

XH         number(4),

XM        varchar2(20),

SEX        char(2),

BIRTHDAY   date,

SAL         number(7,2),

CLASSID     number(2)

)

插入一条数据(表中列要和后面插的数对应)

insert   into  表明  (字段1,字段2,字段3,....)values (值1,值2,值3,........)

 

学生表插入数据

insert   into   student  

(XH,XM,SEX,BIRTHDAY,SAL,CLASSID)

VALUES

(‘A001’,’hqt’,’男’,’2020-12-27’,’1000’,’1’);

 

insert   into   student  

(XH,XM,SEX,BIRTHDAY,SAL,CLASSID)

VALUES

(‘A002’,’lm’,’女’,’2020-02-21’,’2000’,’2’)

 

查询

全表查询

select  * from student  ;

 

XH

XM

SEX

BIRTHDAY

SAL

CLASSID

A001

hqt

2020-12-16

1000

1

A002

lm

2020-02-21

2000

2

 

条件查询

select * from student   where XH = ‘A001’;

如果表中有学号为A001的数据,就能查到此信息结果如下

 

XH

XM

SEX

BIRTHDAY

SAL

CLASSID

A001

hqt

2020-12-16

1000

1

如果没有A001的数据,就什么也查不到

删除表(删除表结构,数据库中就不会再存在这张表)

drop  table  表明;

删除学生表:

drop  table   student;

删除表中数据

delete  from  表名   where    列名 = ‘列的值’;

 

删除学生表中学号为A001的数据

delete   from    student   where XH = ‘A001’ ;

如果表中有学号为A001的数据,这条数据会被删除,如果没有就什么也不会删掉

 

修改表中数据

update   表明    set    列名1=’列值a’   where   列明2 = ‘列值b’

一般修改语句都要加where条件,不加where条件会修改整个表所有数据

 

修改学号为A001的学生的奖学金

update   student    set  SAL = ‘2000’  where   XH = ‘A001’

 

班级表:studentClass

字段

字段名

数据类型

CLASSID

班级号

number(2)

CNAME

班级名字

varchar2(40)

 

班级表建表插数(语句参见上面)后结果

CLASSID

CNAME

1

一年级一班

2

一年级二班

 

 

 

 

 

多表查询

多表查询通过关联关系查找数据

 

select 列名a,列明b,.....  from  

表名1   join  表名2   on   表明1.列名c = 表明2.列名cc

where 表明1.列名d = ‘列值’;

 

 

上面的班级表和学生表通过CLASSID关联

 

查询一年级二班的学生名字

select  a.XM,b.CNAME   from student a

join studentClass b on a.CLASSID = b.CLASSID

where b.CNAME = ‘一年级二班’;

查询结果

XM

CNAME

李敏

一年级二班

 

查询时函数

如果日期带时分秒,查询只查年月日需要转换

日期转换:to_date(BIRTHDAY,’yyyy-mm-dd’)

取最大值   max(SAL)    取奖学金最大值

取最小值   min(SAL)    取奖学金最小值

截取字段长度  substr(XM,0,1)   截取姓名的第一个字,把姓取出来

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值