Oracle数据库学习笔记(一)

一、SQL语言:

DDL(数据定义语言)

Data 

Definition Language

DML(数据操作语言)

Data Manipulation Language

TCL(事务控制语言)

Transcation Control Language

DQL(数据查询语言)

Data

Query

Language

DCL(数据控制语言)

Data

Control

Language

CREATE

创建表或其他对象的结构

INSERT

将数据插入到数据表中

COMMIT

提交

SELECT

查询

GRANT

授予权限

ALTER

修改表或其他对象的结构

UPDATE

更新数据表中已存在的数据

ROLLBACK

回滚

 

REVOKE

收回权限

DROP

删除表或其他对象的结构

DELETE

删除数据表中的数据

SAVEPOINT

保存点

 

CREATE USER

创建用户

TRUNCATE

删除数据表,保留表结构

 

 

 

 

 

二、SQL通常不区分大小写,但是为了程序可读性,通常将关键字大写,非关键字小写。


三、查看系统时间:

1.select sysdate from dual;

2.select TO_CHAR(sysdate, 'yyyy-mm-dd hh:mm:ss') from dual;;

3.SYSDATE是一个关键字,其表示一个DATE类型的值,该值表示当前系统时间。

4.在日期格式中,凡不是英文或英文符号的其他字符,都需要用双引号括起来。

5.日期格式月份输入时,MM对应的月份,单位数月前面不加0,即一月份为1,不是01。如果要在输出显示1969-01-01这种格式,将日期转换成字符串输出,即to_char(date,’YYYY-MM-DD’)即可。

user

sys

0-49(年)

50-99(年)

0-49(年)

本世纪

下世纪

50-99(年)

上世纪

本世纪


四、Date fomatRR

今年是2016年,在系统时间的本世纪代表21世纪(20xx年),即上图的本世纪是指21世纪(20xx年)。如果用户输入RR=25,则表示本世纪即21世纪的第25年,即2025年。如果输入RR=79,则表示本世纪即20世纪的第79年,即2079年。

实际上RR就只能表示以本世纪为中心的三个世纪,一般都是使用YYYY给定年份。


五、表中的字段,无论是什么类型,默认值都是NULL

但是在创建表的时候可以通过DEFAULT关键字指定字段设置一个默认值。

当我们向表中插入一条记录时,若某个字段没有给值,则使用该字段的默认值。


六、SQL语句中,字符串用单引号。


七、创建表:CREATE TABLE table_name (

col_1 type_1,

Col_2 type_2,

...

);


八、复制表:

1.即复制表结构也复制表内容:

CREATE TABLE

 table_name_new

AS SELECT

column1,

column2,

...

 FROM

table_name_old;

 

2.只复制表结构不复制表内容:

CREATE TABLE

table_name_new

AS SELECT

column1,

column2,

...

FROM

table_name_old

WHERE

1=2; --返回一个false值即可

 

3.不复制表结构,只复制表内容:

(1).

INSERT INTO

table_name_new

SELECT

column1,

column2,

...

FROM

table_name_old;

 

(2).

SELECT

column1,

column2,

...

INTO

table_name_new

FROM

table_name_old;

 

九、删除表:

DROP TABLE table_name;


十、当一个字段使用NOT NULL约束后,该字段在任何时候不允许为空。


十一、修改表:

1.修改表名:

RENAME old_name TO new_name;

2.修改表结构:

ALTER TABLE table_name

ADD(

column_name1 datetype1

column_name2 datetype2

...

);

这样修改表的结构只会在该表的末尾追加行。


十二、删除字段:

ALTER TABLE table_name

DROP(

column_name1,

column_name2,

...

);


十三、修改现有字段:

ALTER TABLE table_name

MODIFY(

column_name1 datatype1,

column_name2 datatype2,

...

);

可以修改字段的类型、长度、默认值、非空。

当表中有数据后,不建议修改类型。并且若修改长度也建议只增不减。

否则可能不成功。


十四、Sqldeveloper中注释格式:

--annotation


十五、向表中插入数据:

INSERT INTO table_name

(column1,column2,... ) 

VALUES

(data1,data2,... );

数据与行名一一对应。行名那一行可以不写,意味着所有字段都必须给值。


十六、插入日期格式:

1.INSERT INTO table_name

(birthday)

VALUES

(‘23-SEP-16’);

直接插入字符串的格式不建议使用。

2.INSERT INTO table_name

(birthday)

VALUES

(TO_DATE(‘2016-02-16 15:39:40’,’YYYY-MM-DD HH24-MI-SS’) );

一般使用字符串转换为日期格式进行插入。


十七、在没有提交之前,实际上修改只存在于本机进程中,没有在数据库中修改,还可 以回滚。在提交(commit)之后,数据库中的数据就实际被修改了,不能回滚了。


十八、更新表中数据:

UPDATE table_name

SET column1=value1,column2=value2,...

[WHERE condition];

如果没有WHERE语句,表中所有数据都将被更新。


十九、删除表中记录

1.DALETE

DELETE [FROM] table_name [WHERE conditoin];

不加WHERE语句就是删除所有记录。

2.TRUNCATE

TRUNCATE TABLE table_name;

(1)DELETE可以有条件删除,TRUNCATE将表中数据全部删除。

(2)DELETEDML语句,可以回滚,TRUNCATEDDL语句,立即生效,不能 回滚。

(3)如果删除全部表记录,且数据量较大,DELETE语句效率比TRUNCATE效率低。


二十、查询当前用户下所有表,生成格式为:(drop table table_name;):

SELECT 'drop table'||table_name||';'

FROM cat

where table_type='TABLE';


二十一、数据查询语句

1.查询指定表的所有字段所有记录:

SELECT * FROM table_name;

2.查询指定表指定字段的所有记录:

SELECT column1,column2,... FROM table_name;

3.查询指定表满足条件的记录:

SELECT column1,column2,... FROM table_name WHERE condition;


二十二、dual伪表,表中只有一个字段,一条记录,在使用SELECT语句查询与其他任何表都无关的数据时,使用这个表作为FROM后的表。


二十三、查询忽略大小写:

SELECT * FROM table_name

WHERE upper(column)=upper(‘value’);

也可以使用lower函数转换成小写。


二十四、去掉字符串:

1.TRIM(c2 FROM c1)函数,去掉c1中与c2匹配的第一个字符串。

2.LTRIM(c1,c2)函数,去掉c1中从左边开始所有c2字符串所包含的字符,直到遇到第一个c2中不包含的字符。

3.RTRIM(c1,c2)函数与LTRIM相同。


二十五、补位函数:

1.LPAD左补位,RPAD右补位。

2.LPAD(char1,n,char2)

(1)一共显示n位。

(2)char1长度小于n,则从左往右截取n位返回。

(3)char1长度大于等于n,则在左边补充char2


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值