最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

oracle基本语法(增删改查)

来源:动视网 责编:小OO 时间:2025-10-04 08:08:25
文档

oracle基本语法(增删改查)

安装PL/SQLDeveloper前提:必须安装Oracle的客户端卸载:------------------------------CommandWindow-->SQLPLUSSQLWindow-->用来开发SQL程序-------------------------------数据库增删改-->30%查-->70%------------------------------------------------------------------------------创建表:create
推荐度:
导读安装PL/SQLDeveloper前提:必须安装Oracle的客户端卸载:------------------------------CommandWindow-->SQLPLUSSQLWindow-->用来开发SQL程序-------------------------------数据库增删改-->30%查-->70%------------------------------------------------------------------------------创建表:create
安装PL/SQL Developer

前提:必须安装Oracle的客户端

卸载:

 

------------------------------

Command Window --> SQLPLUS

SQL Window --> 用来开发SQL程序

-------------------------------

数据库

增删改 --> 30%

查 --> 70%

------------------------------------------------------------------------------

创建表:

 create table 表名(

 列1 类型,

 列2 类型

);

字符类型

char -->定长字符串

  name char(10)

-->保存一个值到name 

'abc' --实际存储后的结果是--> 'abc       '

varchar2 -->变长字符串

 name varchar2(10)

-->保存一个值到name 

'abc' --实际存储后的结果是--> 'abc'

clob --> 保存超大文本 4G

---------------------------

数字类型

 所有的数字(整数,浮点数)都是number

定义一个工资的保存列

 sal number(5,2)

-999.99 ~ 999.99

年龄

 age number(2)

-99 ~ 99

---------------------------

日期类型

date --> 保存年月日,时分秒

--------------------------

二进制类型

BLOB --> 最大不能超过4G;

------------------------------

表结构的基本操作:

0、查看表结构

desc 表名 

1、添加一个字段

alter table 表名 add(列 类型);

2、修改字段类型

alter table 表名 modify(列 类型);

3、删除一个字段

alter table 表名 drop column 列名;

4、修改表的名字

rename student to stu

5、删除表

drop table 表名

** 如果需要修改列的名字

新增一个字段,然后迁移数据,最后删除原字段

或者使用图形化工具

如果有值,这种删除,是没有办法恢复的。

上述修改表结构相关的语句 叫做DDL ,修改,是没有办法恢复的

--------------------------------------------------------------------------------------------------

插入数据

create table test(

 id number,

 name varchar2(20),

 age number(2)

);

1) 

 insert into 表名 values(所有列的值);

insert into test values(1,'zhangsan',20);

2)

 insert into 表名(列) values(对应的值);

insert into test(id,name) values(2,'lisi');

insert into test(name,age) values('wangwu',20);

--------------------------------------------------------------------------------------------------

更新语句

update 表 set 列=新的值 [where 条件] --》更新满足条件的记录

update test set name='zhangsan2' where name='zhangsan'

update 表 set 列=新的值 --》 更新所有的数据

update test set age =20;

----------------------------------

**删除数据:

 几种删除方式:

 

1)

delete from 表名 where 条件 -->删除满足条件的记录

delete from test where id = 1;

delete from test ; -->删除所有

commit; -->提交数据

rollback; -->回滚数据

delete方式可以恢复删除的数据,但是提交了,就没办法了

delete删除的时候,会记录日志 --》删除会很慢很慢

2)

truncate table 表名

 删除所有数据 ,不会影响表结构,不会记录日志,数据不能恢复 --》删除很快

3)

 drop table 表名

 删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复-->删除很快

------------------------------------------------------------------------------------------

如何查看一个SQL执行了多长时间?

set timing on

小技巧:

 如何快速的复制数据?

1、 insert into test select * from test;

2、 create table 表名 select * from test;

-----------------------------------------------------------------

查询:基本查询,复杂查询

1、导入数据

sqlplus状态下:

@文件名

基本查询

select 列 from 表名

select * from 表名 --》 所有列

-----------------------------------------------

1、去除重复的显示

select  distinct  列 from 表名

2、算术运算,不能把NULL参与运算

nvl(列,值) --》如果列为空,则用“值” 替换NULL

nvl(comm,0) ---> 如果comm为空,返回0

每一个列都可以取别名

3、如何连接字符串 || 

-------------------------------------------------------------------------------

日期类型:

to_date(字符串1,字符串2) --> 字符串1 是日期的字符串 ,字符串2 是格式 ,返回一个日期类型。

to_date('1990-1-1','yyyy-mm-dd') -->返回日期类型的1990-1-1

to_date('1990-1-1  13:30:10','yyyy-mm-dd  hh24:mi:ss') -->返回日期类型的1990-1-1  13:30:10

SQL的模糊查询:

like :匹配字符  % :0到多个字符   _ :表示单个字符

如果涉及到NULL

判断 is NULL , is not null

查询结果需要排序

order by 字段

select * from emp order by sal  --》order by后面,默认升序

asc升序

desc 降序

-------------------------------

Oracle的复杂查询,统计函数,分组

sum, count ,avg, max, min

----分组:

 student

zhangsan  男    10    90

李四 男    10    60

z女    10    86

王五 女    20    90

统计每个班的最高分

max(score)

10

zhangsan  男 10 90 --> 90

李四 男    10    60

20

王五 女 20 90 --> 90

--------------------------------------

统计每个班的男生和女生分别的最高分

分组:

 class  sex

max(score)

10  男

 zhangsan  男 10 90 --> 90

李四 男    10    60

10  女

z女 10 86 --> 86

20  女 

王五 女 20 90 -->90

统计函数不能跟在where条件后面

-

group by 和having子句

group by 字段 -->按照指定的字段进行分组

having 字句 --》 对分组后的结果进行筛选输出

-------------------------------

一般来说,group by后面的字段,最好出现在 select后面

统计函数统计的是每一个分组的结果!!!

----------

关键字出现的顺序

select ? from .... where ... group by ... having ... order by ....

--------------------

笛卡尔积

两个集合相乘的结果

14* 4 =56

有对的记录,有错的记录,必须加条件筛选正确的记录

-------------------------

文档

oracle基本语法(增删改查)

安装PL/SQLDeveloper前提:必须安装Oracle的客户端卸载:------------------------------CommandWindow-->SQLPLUSSQLWindow-->用来开发SQL程序-------------------------------数据库增删改-->30%查-->70%------------------------------------------------------------------------------创建表:create
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top