Oracle

oracle基础知识

常见操作:

DDL:data defination language数据定义语言,create、alter 、truncate,drop

DML:data manipulate language,数据操纵语言,insert,update、delete;
DCL:data control language,数据控制语言,grant、revoke;
DQL:data query language,数据查询语言,select;
TCL: transaction control language事务控制语言commit、savepoint、rollback

基本操作:

创建数据库:

create database stuSystem;

DDL:

创建表:

create table student(

sno varchar2(8)  constraint pk_sno primary key,

sn  varchar2(32) constraint nk_sn  not null,

sex varchar(6)   constraint ck_sex not null check(sex in('男','女')),

age number(6,2)  ,

constraint  ck_age  check(age between 18 and 60)

 );

修改表:

1. 修改表名
ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME;

Alter table student rename to stu;
2.修改列名
ALTER  TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;

Alter table student rename column age to agg;

3.插入列
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE;

Alter table student add age int;

4.修改列的数据类型
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE;

Alter table student modify age varchar2(3);

5.删除列
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;

Alter table student drop column age;

删除表:

drop table student;

DML:

插入:

insert into student values ('1','张三','男',20);

insert into student(sno,sn) values('2','张四');

更新:

update student set age=age+10;

删除:

delete from student where sno='1';

DCL:

创建用户
CREATE USER 用户名@'%' IDENTIFIED BY 密码
GRANT 权限1,...,权限n ON 数据库.表名 TO 用户名@IP地址
REVOKE 权限 ON 数据库名.表名 from 用户名@IP地址
注:all代表所有权限,*代表所有数据库或所有表
查看权限
SHOW GRANTS FOR 用户名@IP地址
删除用户
DROP USER 用户名@IP地址
DQL:
查询:
select * from student;
TCL:
ROLLBACK
COMMIT
单行函数:

字符函数:

select substr('Hello World',3,4) from dual;

数字函数:

select round(45.926,2) 四舍五入, trunc(45.926,2)  截断 ,mod(1600,300) 求余 from dual;  

日期函数:

SELECT SYSDATE FROM dual;

通用函数:

a、NVL(a,b) 

如果a为null值,则取b为返回结果,否则返回a。

b、NVL2(a,b,c) 

如果a为null, 则结果为b, 否则结果为c。

c、DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

转换函数:

to_char():将日期转换为字符串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

to_date();将字符串转化为日期

SELECT TO_DATE('1989-09-12','yyyy-mm-dd') FROM dual;

日期 + 数字 = 日期

日期 – 数字 = 日期

日期 – 日期 = 天数

组函数(多行函数):

max()
min()
count()
sum()
avg()

能在select或select的having子句中使用

在使用group by 进行分组时,必须注意,如果select字句中包含了组函数,就不能选择单独的字段,除非出现在groupby字句后面

五大约束:

NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.
CHECK (检查)--检查在约束中指定的条件是否得到了满足.
UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的.
PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束.
POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键.

 添加约束:

表级约束:可以应用于一列上,也可以应用在一个表中的多个列上。与列定义相互独立,不包含在列定义中;与定义用‘,’分隔;必须指出要约束的列的名称

列级约束:只能应用于一列上列级约束:包含在列定义中,直接跟在该列的其它定义之后 ,用空格分隔;不必指定列名  

只能创建列级约束:,缺省约束, Null 约束 create table SC(          

sno varchar2(8),

cno varchar2(8),

score number(6,2),

constraint pk_sc primary key(Sno,Cno), //主码由两个属性构成,必须作为表级完整性进行定义

 foreign key(Sno) references Student(Sno))//表级完整性约束条件,Sno是外码,被参照表是Student

利用alter添加约束

alter table 表名

add constraint 约束名 约束类型具体的约束说明

-添加检查约束

alter table stu

add constraint CK_stuAge check(stuAge between 15 and 40)

--添加外键约束

alter table stu

add constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)

 删除约束

 alter table 表名 drop constraint 约束名

 

 

 

 

 

            

 

 

 

posted @   码农公子的幸福生活  阅读(39)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示