oracle学习day1
- SQL Plus进入操作界面
- 系统用户登录:system/密码
- OEM:Oracle11g
- Oracle11默认用户名和密码
- 最近输入的一条SQL或PL/SQL语句会暂时存放到缓冲区,可以使用edit命令打开缓冲区查看SQL语句
- 断开与数据库连接:disconnect
- 查看登录用户:show user
- dba_users数据字典
- 查看数据字典desc dba_users (describe)
- 启用scott用户
alter user scott(username) account unlock; - connect scott/tiger
- 表空间:数据库的逻辑存储空间,一个数据库可以由多个表空间构成
- 一个表空间可以由多个数据文件构成
- 表空间分类:永久表空间,临时表空间,UNDO表空间(被修改之前的数据)
- 查看用户表空间
dba_tablespaces:系统管理员级的数据字典
user_tablespaces:普通用户数据字典
dba_user:系统级
user_users:普通用户
- 设置用户的默认或临时表空间
ALTER USER username
DEFAULT|TEMPORARY
TABLESPACE tablespace_name
- 创建表空间
CREATE [TEMPORARY] TABLESPACE
tablespace_name
TEMPFILE|DATAFILE 'xx.dbf' SIZE xx
- 修改表空间
设置联机或脱机状态 ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
- 查看表空间状态
select status form dba_tablespaces where tablename='需要查询的表空间名字大写'
- 设置只读或可读写状态
设置只读或可读写状态 ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE
- 增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf'SIZE xx;
- 删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf'
- 删除表空间
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS](加上可将数据文件一并删除)
- 表是基本存储单位,二维结构,行和列
- 数据类型
- 字符型:
char(n):2000
nchar(n):1000
varchar2(n):4000
nvarchar2(n):2000 - 数值型:
NUMBER(p,s):(p-有效数字,s-小数点后的位数)
FLOAT(n) - 日期型:
DATA:公元前4712年1月1日到公元9999年12月31日
TIMESTAMP:可精确到小数秒 - 其他类型:
BLOB:
CLOB:
26.创建表
- 基本语法:
CREATE TABLE table_name
(
column_name datatype,...
)
27.添加字段
ALTER TABLE table_name
ADD column_name datatype;
28.更改字段数据类型
ALTER TABLE table_name
MODIFY column_name datatype;
29.删除字段
ALTER TABLE table_name
DROP COLUMN column_name;
30.修改字段名
ALTER TABLE table_name
RENAME COLUMN column_name TO
new_column_name;
31.修改表名
RENAME old_name TO new_name;
32.删除表
TRUNCATE TABLE table_name;//截断表,仅删除表中数据
DROP TABLE table_name;//删除整张表
- 操作表中数据
33.添加数据
34.复制表中数据INSERT INTO table_name (column1,column2,...) VALUES(value1,value2,...)//字符串类型值需要用单引号括起来,sysdate获取当前日期
创建时复制
CREATE TABLE table_new
AS
SELECT column1,..|*FROM table_old
添加时复制
INSERT INTO table_new
[(column_1,...)]
SELECT column1,..|*FROM table_old
36.UPDATA语句
UPDATA table_name
SET column1=value1,...
[WHERE conditions]
37.删除语句
DELETE FROM table_name;
[WHERE conditions]
约束
38.非空约束
在创建表时设置非空约束
CREATE TABLE table_name(
column_name datatype NOT NULL,...
);
在修改表时添加非空约束
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;
修改表时去除非空约束
ALTER TABLE table_name
MODIFY column_name datatype NULL;
39.主键约束
在创建表时设置主键约束
CREATE TABLE table_name(
column_name datatype PRIMARY KEY,...
)
CONSTRAINT constraint_name
PRIMARY KEY (column_name1,...)
在修改表时设置主键约束
ADD CONSTRAINT constraint_name
PRIMARY KEY (column_name1,...);
更改约束名称
RENAME CONSTRAINT old_name
TO new_name;
删除主键约束
DISABLE|ENABLE CONSTRAINT constraint_name;(禁用|启用)
ALTER TABLE tablename
DROP CONSTRAINT constraint_name;(完全删除)
DROP PRIMARY KEY [CASCADE]
40.外键约束
CREATE TABLE table1
(column_name datatype REFERENCES
table2(column_name),...);
)//前从表,后主表
修改表时添加外键约束
ADD CONSTRAINT constraint_name FOREIRGN
KEY (column_name) REFERENCES
table_name (column_name)[ON DELETE CASCADE]
删除外键约束
DISABLE|ENABLE CONSTRAINT constraint_name;(禁用|启用)
41.唯一约束//保证字段值唯一性
在创建表时设置唯一约束
CREATE TABLE table_name
(column_name datatype UNIQUE,...)
CONSTRAINT constraint_name
UNIQUE(column_name)
在修改表时添加唯一约束
ADD CONSTRAINT constraint_name
UNIQUE(column_name);
删除唯一约束
DISABLE|ENABLE CONSTRAINT constraint_name;(禁用|启用)
ALTER TABLE tablename
DROP CONSTRAINT constraint_name;(完全删除)
42.检查约束
在创建表时设置检查约束
CREATE TABLE table_name
(column_name datatype CHECK(expressions),
...)
CONSTRAINT constraint_name
CHECK(expressions)
修改表时添加检查约束
ADD CONSTRAINT constraint_name
CHECK(expressions)
43.约束总结
非空约束只能在列级设置,不能在表级设置
非空约束没有名字
44.基本查询语句
SELECT [DISTINCT] column_name1,...|*
FROM table_name
[WHERE conditions]
45.在SQL*PLUS中设置格式
COLUMN column_name HEADING new_name(更换显示结果字段名)
COLUMN column_name FORMAT dataformat(a开头后面加长度:a10)(显示一位小数:9999.9)
COLUMN column_name CLEAR(清除字段格式)
46.给字段设置别名
SELECT column_name AS new_name,...
FROM table_name
47.运算符和表达式
算数运算符(±*/)
比较运算符(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)
48.模糊查询
通配符的使用(_,%)
一个_代表一个字符
%可以代表0到多个任意字符
49.范围查询
BETWEEN...AND...;
IN/NOT IN(' ',' ');
50.对查询结果排序
SELECT ...FROM...[WHERE..]
ORDER BY column1 DESC/ASC,...
51.case…when语句的使用
CASE column_case
WHEN value1 THEN result1,...
[ELSE result] END
CASE
WHEN column_name=value1
THEN result1,...[ELSE result]END
52.decode函数的使用
decode(column_name,value1,result1,
...,defaultvalue)
53.设置字段格式
col column_name for a10;
清除字段格式
col column clear;