Oracle-1

xiaoxiao2021-02-28  101

数据库简介

DB和DBMS DB:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 DBMS:数据库管理系统(DataBase Management System),管理数据库的软件。

关系数据库简介: 关系:描述两个元素的关联或对应关系。 使用关系模型把数据组织到二维数据表中(Table)。 产品化:Oracle,MySQL,DB2

表的概念: 一个关系数据库有多个数据表组成,数据表是关系数据库的基本存储结构。 表是二维的,由行和列组成。 表与表之间存在关联关系。

SQL概述

SQL概述: sql:结构化查询语言。 sql是在关系数据库上执行数据操作,检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。 sql可分为: —数据定义语言:DDL; —数据操纵语言:DML; —数据控制语言:TCL; —数据查询语言:DQL; —数据控制语言:DCL;

数据定义语言:DDL 用于建立、修改、删除数据库对象。 包括: —CREATE:创建表或其他对象的结构。 —ALTER:修改表或其他对象的结构。 —DROP:删除表或其他对象的结构。 —TRUNCATE:删除表数据,保留表结构。

数据操纵语言:DML 用于改变数据表中的数据 和事物相关,执行完后需要经过事物控制语句提交后才真正改变应用到数据库中。 包括: —INSERT:将数据插入到数据表中; —UPDATE:更新数据表中已经存在的数据; —DELETE:删除数据表中的数据。

事物控制语言:TCL 用来维护数据一致性的语句。 包括: —COMMIT:提交,确认已经进行的数据改变; —ROLLBACK:回滚,取消已经进行的数据改变; —SAVEPOINT:保存点,使当前的事物可以回退到指定的保存点,便于取消部分改变。

数据查询语言:DQL 用来查询所需要的数据 SELECT语句。

数据控制语言:DCL 用于执行权限的授予和收回操作 包括: —GRANT:授予,用于给用户或角色授予权限 —REVOKE:用于收回用户或角色的权限 —CREATE USER:创建用户

Oracle数据类型

NUMBER:表示数字类型 经常被定义成NUMBER(P,S) 形式,其中: –p表示数字的总位数 –s表示小数点后面的位数 如:sal NUMBER(6,2)

CHAR:固定长度的字符类型 经常被定义成 CHAR(N)的形式,N表示占用的字节数。 如: ename CHAR(20),表示ename列中最多可以存储20个字节的字符串,并且这个长度是固定的。

VARCHAR2:变长的字符类型 定义格式为 VARCHAR2(N),N表示最多可占用的字节数。 如: ename VARCHAR2(20),表示ename列中最多可以存储20个字节的字符串,并且这个长度是可变的,即字符串实际长度为多少就用多少。

DATE:定义日期时间的数据 默认格式是:DD-MON-RR 如:11-APR-71

创建表

CREATE语句:创建表

CREATE TABLE emp( empno NUMBER(4,0), enname VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4,0), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), depton NUMBER(2,0)

DESC语句:查看表结构 DESC emp

DEFAULT语句:给列指定默认值

CREATE TABLE emp( id NUMBER(4,0), ename VARCHAR2(10), sal NUMBER(7,2), gender CHAR(1) DEFAULT 'M' )

NOT NULL语句: 非空约束,确保该字段值部位空; 默认情况下,任何猎都可以为空; 当某个字段被设置为NOT NULL,该字段必须保存有效值; 当执行插入语句时,必须为该列提供数据,否则会报错; 当执行更新操作时,不能给这个列设置NULL。

CREATE TABLE emp( id NUMBER(4,0), ename VARCHAR2(10), sal NUMBER(7,2), NOT NULL gender CHAR(1) DEFAULT 'M' )

修改表

修改表名 使用RENAME语句实现修改表名

RENAME old_name TO new_name

增加列 给表增加列可以通过使用 ALTER TABLE 的ADD子句实现 如:给emp增加hiredate列,默认为sysdate

ALTER TABLE emp ADD (hiredate DATE DEFAULT sysdate)

删除列 使用ALTER TABLE 的DROP 语句删除不需要的列。 如:删除日期那一列

ALTER TABLE emp DROP(hiredate)

修改列 建表之后可以改变表中列的数据类型,长度和默认值 修改表仅仅对插入以后的数据有效 如果把长度改小有可能不成功 如:修改表中job,并增加默认值

ALTER TABLE emp MODIFY (job VARCHAR2(40) DEFAULT 'CKERK')

DML语句

INSERT语句: 给数据表增加记录 如:给emp表插入数据,注意,可以不同时把所有的字段的数据都插进去,但是NOT NULL 的必须要有。

insert into emp(empno,enname,job,mgr,hiredate,sal,depton) values (7902,'ford','analyst',7566,TO_DATE('1981_12_03','YYYY-MM-DD'),3000,20)

执行DML语句后,需要在执行commit语句,才算真正确认了此操作。

UPDATE语句 更新表中记录 语法格式: UPDATE table_name SET column=value[column=value]… [WHERE condition] 如果没有WHERE 语句,则表示该表中所有的数据都会更新。 如:更新职员ROSE的薪水为7000

UPDATE emp SET salary=7000 WHERE name='ROSE'

DELETE 语句: 删除表中记录

DELETE FROM emp WHERE job is null

如果没有WHERE 语句,则删除全表。

转载请注明原文地址: https://www.6miu.com/read-23478.html

最新回复(0)