Oracle 笔记01

发布于 2020-06-05  264 次阅读


入门基础内容

创建用户并给默认表空间

CREATE USER bswaterb IDENTIFIED BY bsbs DEFAULT TABLESPACE USERS;
--创建用户名为bswaterb,口令(密码)为bsbs 的账户,默认表空间是USERS

授予用户权限

--授予用户 CONNECT 角色,这是用户连接数据库的基础
GRANT CONNECT TO bswaterb;
--授予用户 RESOURCE 角色
GRANT RESOURCE TO bswaterb;
--授予用户 DBA(管理员) 角色
GRANT DBA TO bswaterb;

登录命令

--输入命令后需要根据提示输入密码
CONNECT bswaterb;
CONN bswaterb;

创建表

CREATE TABLE schema_name.table_name(
	column_1_name datatype [column_level_constraint],
	column_2_name datatype [column_level_constraint],
	...
	[table_level_constraint]
)
[parameter_list];

实例:创建一个 employee 表

CREATE TABLE employee(
	empno NUMBER(5) PRIMARY KEY,
	ename VARCHAR2(15),
	deptno NUMBER(3) NOT NULL
)
TABLESPACE USERS;

向表中插入数据

INSERT INTO table_name VALUES(data);

实例:向 employee 表中插入一条数据

INSERT INTO employee VALUES(1,'张三',114);

修改表中的数据

UPDATE
    table_name
SET
    column1 = value1,
    column2 = value2,
    column3 = value3,
    ...
WHERE
    condition;

实例:修改 employee 表中 ename 为 张三 的 deptno 值

UPDATE employee
SET deptno = 514
WHERE ename = '张三'

删除表中数据

DELETE
FROM
    table_name
WHERE
    condition;

实例:删除 employee 表中 empno 为 1 的记录

DELETE FROM employee
WHERE empno = 1;

查询数据

-- 查询 employee 所有列
SELECT * FROM employee;
-- 查询 employee 的 empno 和 ename 列
SELECT empno,ename FROM employee;
-- 查询中使用算式表达式
SELECT ename,deptno+114400 FROM employee;
-- 查询中使用字符常量
SELECT empno,'Name is:',ename FROM employee;

数据类型

  • 字符型
  • 数值类型
  • 日期类型
  • LOB类型
  • 二进制类型
  • 行类型

字符类型

CHAR(n)          定长字符串,n取值为1-2000字节
VARCHAR2(n)      可变字符串,n取值为1-4000字节,可自动调整数据长度
NCHAR(n)         定长Unicode类型字符串
NVARCHAR2(n)     变长 Unicode 字符串
LONG             可变长字符列,最大长度为2GB,不常用

数值类型

NUMBER(m,n)   	存储整数和实数,m表示数值总位数(范围1~38,默认38),n表示小数位数(默认0)
INTEGER		NUMBER子类型,等同于NUMBER(38,0),用来存储整数
BINARY_FLOAT  	32位,单精度浮点数
BINARY_DOUBLE 	64位,双精度浮点数
FLOAT(n)	NUMBER子类型,n 指示位的精度,可以存储的值的数目

日期类型

DATE			范围从公元前4712年1月1日到公元4712年1月1日,由世纪、年、月、日、时、分、秒组成
TIMESTAMP[(n)]		表示时间戳,DATE类型的扩展,允许存储小数形式的秒数,n表示秒的小数位数,范围位1-9,默认值为6

LOB类型

CLOB		用于存储可变长度的字符数据,如文本文档等,最大数据量为4GB
NCLOB		用于存储可变长度的Unicode字符数据,最大数据量为4GB
BLOB		用于存储大型的、未被结构化的可变长度的二进制数据,最大数据量为4GB
BFILE		用于存储指向二进制格式文件的定位器,文件最大为4GB

二进制类型

RAW(n)		用于存储可变长度的二进制数据,n表数据长度,范围为1-2000字节
LONG RAW	用于存储可变长度的二进制数据,最大存储数据量为2GB

行类型

ROWID	行标识符,表中行的物理地址的伪列类型
UROWID	行标识符,用于表示索引化表中行的逻辑地址


何为BS?B-big,S-shui。