Oracle数据库概念和一些基本的SQL语句

时间:2022-04-22 16:32:34

1、数据

定义:描述事物的符号。例如:文本、音频、视频都是数据。

2、数据库

存放数据的仓库,存放在计算机中,按照一定格式存放,可以为用户共享。

3、数据库的发展阶段

1、网状数据库

2、层次数据库

3、关系数据库(目前主流数据库)

4、对象数据库

4、NOSQL数据库

4、Oracle数据库系统用户(管理员)

scott账户:测试账户,练习账户

登录方式:dos命令行---->sqlplus--->输入账户:scott--->输入密码---->(登录成功)

如果该账户被锁定,需要在sysdba超级账户解锁

sysdba账户:超级账户,拥有最高权限,Oracle默认的系统管理员。在该账户下把别的账户加锁或解锁。

登录方式:直接在dos命令行输入sqlplus / as sysdba(注意空格)即可

加锁:alter user 账户名 account lock;

解锁:alter user 账户名 account unlock;

查看当前账户:show user;

 

5、表名和列名命名规范和数据类型

1、必须以字母开头

2、只能包含字母、数字、_#$

3、不能使用保留字oracle

4、不能与用户定义的其他对象重名

数据类型见表

类型

含义

存储描述

备注

CHAR

固定长度字符串

最大长度2000bytes

 

VARCHAR2

可变长度的字符串,

最大长度4000bytes

可做索引的最大长度749

NCHAR

根据字符集而定的固定长度字符串

最大长度2000bytes

 

NVARCHAR2

根据字符集而定的可变长度字符串

最大长度4000bytes

 

DATE

日期(日-月-年)

DD-MM-YY(HH-MI-SS),经过严格测试,无千虫问题

 

TIMESTAMP

日期(日-月-年)

DD-MM-YY(HH-MI-SS:FF3),经过严格测试,无千虫问题

与DATE相比较,TIMESTAMP有小数位秒信息

LONG

超长字符串

最大长度2G,足够存储大部头著作

 

RAW

固定长度的二进制数据

最大长度2000bytes

可存放多媒体图象声音等

LONG RAW

可变长度的二进制数据

最大长度2G

可存放多媒体图象声音等

BLOB

二进制数据

最大长度4G

 

CLOB

字符数据

最大长度4G

 

NCLOB

根据字符集而定的字符数据

最大长度4G

 

BFILE

存放在数据库外的二进制数据

最大长度4G

 

ROWID

数据表中记录的唯一行号

10bytes

********.****.****格式,*为0或1

NROWID

二进制数据表中记录的唯一行号

最大长度4000bytes

 

NUMBER(P,S)

数字类型

P为整数位,S为小数位

 

DECIMAL(P,S)

数字类型

P为整数位,S为小数位

 

INTEGER

整数类型

小的整数

 

FLOAT

浮点数类型

NUMBER(38),双精度

 

REAL

实数类型

NUMBER(63),精度更高

 

 

6、建表语法以及常见SQL语句

(1)、建表:create table 表名(列名 数据类型,列名 数据类型,...);

    例:create table stus(stu_id number(10), stu_name varchar2(20));

(2)、查看表结构:desc 表明

    例:desc stus;

(3)、添加新列:alter table 表名 add(列名 数据类型);

    例:alter table stus add(stu_class varchar2(20));

(4)、删除列:alter table 表明 drop column 列名

    例:alter table stua drop column stu_class;

(5)表改名字:alter table 旧表名 rename to 新表名

    例:alter table stus rename to stu;

(6)、列改名字:alter table 表名 rename 旧列名  to 新列名;

    例:alter table stu rename stu_id to stu_no;

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

    例:alter table stu modify(stu_name number(20));

(8)、添加主键:

    表建立完成以后,指定列为主键
    前提是:没有null的数据&&没有重复的数据。
    alter table 表名 add constraint(约束,限制) PK_表名_指定的列名 primary key(指定的主键那一列);

    例:alter table stu add constrain PK_stu+stu_no primary key(stu_no);

    也可以在创建表的时候就添加主键

    create table stu(stu_id number(20) primary key not null);

(9)、删除表

    方式1:drop table 表名  例:drop table stu(把整个彻底删除)

    方式2:truncate table 表名 (删除表中的数据);

(10)、往表中添加数据:insert into 表名(列1,列2..) values(值1,值2....);

例:  insert into stu(stu_id,stu_name) values(1,'张三');