美文网首页
ORACLE学习之随记(2018-08-13)

ORACLE学习之随记(2018-08-13)

作者: twoapes | 来源:发表于2018-08-13 01:36 被阅读11次

oracle卸载:oracle安装路径\app\你的电脑用户名称\product\11.2.0\dbhome_1\deinstall\deinstall.bat
使用cmd命令语句(scortt(oracle创始人之一)用户默认密码 tiger):
1.使用system用户登入:[已登入用户需要加connect] [username/password] [@server] [as sysdba|sysoper]
2.查看登入用户 :
a.show user命令
b.用dba_user数据字典:descrip可以简写为desc,本地的数据字典是dba_users,语句是:[desc dataname]
3.启动用户语句:alert user username account unlock
数据字典:数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明.
dba_tablespaces,user_tablespaces数据字典
dba_users,user_users数据字典

表空间

一.数据库与表空间

  • 表空间分类:

1.永久表空间
2.临时表空间
3.undo表空间

二.表空间和数据文件

  • 查看用户的表空间:select tablespace_name from dba_tablespaces ;

1 SYSTEM 存放sys信息
2 SYSAUX example的辅助表空间
3 UNDOTBS1 存放undo表空间
4 TEMP 存放临时表空间
5 USERS 存储数据库创建的对象
6 EXAMPLE 安装oracle示例

  • 设置用户的默认和临时表空间
ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name
  • 创建表空间(增)
CREATE[TEMPORARY]TABLESPACE tablespace_name TEMPFILE|DATAFILE 'xx.dbf' SIZE xx
  • 修改表空间(改)
1.修改表空间状态,设置联机或脱机状态
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE 
2.设置只读或可读写状态(必须联机状态)
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE
  • 修改数据文件
1.增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx
2.删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE 'xx.dbf' SIZE xx
  • 删除表空间(删)
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS] 

基存储单元
二维结构
行和列
约定:
1.每一列数据必须具有相同的数据类型
2.列名唯一
3.每一行数据的唯一性

  • 数据类型:

a.字符型
CHAR(n):n最大值2000,NCHAR(n):n最大值1000
VARCHAR2(n):可变长度,n最大值4000,NVARCHAR2(n):n最大值2000
b.数值型
NUMBER(p,s)p有效数字,s小数点位数
FLOAT(n)
c.日期型
DATE:公元前4712年1月1日到公元9999年12月31日
TIMESTAMP:精确日期到秒
d.其他类型
BLOB:4g的数据
CLOB:4g的数据,字符串的形式

  • 创建表
CREATE TABLE table_name(
column_name datatype,...
)
  • 修改表

添加字段

ALTER TABLE table_name
ADD column_name datatype;

更改字段的数据类型

ALTER TABLE table_name
MODIFY column_name datatype; 

删除字段:

>ALTER TABLE table_name
>DROP COLUMN column_name;

修改字段名

ALTER TABLE table_name
RENAME COLUMN column_name TO new_column_name;

修改表名

RENAME TABLE table_name TO new_table_name; 
  • 删除表
TRUNCATE TABLE table_name;(截断表,删除表数据比delete效率高)
DROP TABLE table_name;
  • 添加数据

插入指定:

INSERT INTO TABLE TABLE_NAME

  (COLUMN1, COLUMN2, .. .)

VALUES

  (VALUE1, VALUE2, .. .)

插入所有:

INSERT INTO TABLE TABLE_NAME VALUES (VALUE1, VALUE2, .. .) 
  • 添加默认值:

在创建表时添加,字段改为:

REGDATE column_name DEFAULT default_name

创建表以后,字段改为:

ALTER TABLE table_name
MODIFY column_name DEFAULT default_name;
  • 复制数据

在创建表时添加

CREATE TABLE table_new AS SELECT column1,...| * FROM table_old ;

在添加时复制

INSERT INTO table_new [(column1,...)] SELECT column1,...| * FROM table_old ;
  • 修改数据
UPDATE table_name SET column1=value1,...[WHERE conditions] ;
  • 删除数据
DELETE FROM table_name[where conditions]

约束

定义规则
确保数据完整性

  • 非空约束

在创建表时设置非空约束

CREATE TABLE table_name(
column_name datatype NOT NULL,...
); 

在修改表时添加非空约束

ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;

3.在修改表时去除非空约束

ALTER TABLE table_name
MODIFY column_name datatype NULL;
  • 主键约束

一张表只能设计一个主键约束
主键约束可以由多个字段构成(联合主键或复合主键)

1.在创建表时设置主键约束

CREATE TABLE table_name(
column_name datatype PRIMARY KEY,...
);  
CONSTRAINT constraint_name PRIMARY KEY(column_name1,...)

2.在修改表时添加主键约束

ADD CONSTRAINT constraint_name PRIMARY KEY(column_name1,...)

3.更改约束的名称:

RENAME CONSTRAINT old_name TO new_name;

4.删除主键约束(禁用)

DISABLE|ENABLE CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;(删除)
DROP PRIMARY KEY[CASCADE];  (删除)
  • 外键约束

1.在创建表时设置外键约束

CREATE TABLE table_name (column1_name TYPE REFERENCES table2_name(column_name),.....);
CREATE TABLE table1_name (REFERENCES table_name(column_name) ON DELETE CASCADE); 

2.在修改表时添加外键约束

ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY(column1_name) REFERENCES table_name(column_name) ON 
DELETE CASCADE;  

3.删除外键约束(禁用)

ALTER TABLE table_name
   DISABLE|ENABLE CONSTRAINT key_name ;
DROP CONSTRAINT  constraint_name; 
  • 唯一约束

1.在创建表时设置唯一约束

CREATE TABLE table_name (colum_name datatype UNIQUE,...);
CONSTRAINT constraint_name UNIQUE(column_name); 

2.在修改表时添加唯一约束

ADD CONSTRAINT constraint_name UNIQUE(column_name1,...) ;

3.删除唯一约束

DISABLE|ENABLE CONSTRAINT constraint_name;
DROP CONSTRAINT  constraint_name;
  • 检查约束

1.在创建表时设置检查约束

CREATE TABLE table_name (colum_name datatype CHECK(expressions),...);
CONSTRAINT constraint_name CHECK(expressions);

2.在修改表时添加检查约束

ADD CONSTRAINT constraint_name CHECK(expressions) ;

3.删除检查约束

DISABLE|ENABLE CONSTRAINT constraint_name;
DROP CONSTRAINT  constraint_name;

查询

  • 基本查询语句
SELECT[DISTINCT] column_name1,...* FROM table_name [WHERE conditions];
  • 在sql*plus中设置格式
COLUMN column_name HEADING  new_name;
COLUMN column_name  FORMATE dataformat;
COLUMN column_name  CLEAR;
  • 查询所有字段
SELECT * FROM table_name;
  • 给字段设置别名
 SELECT column_name AS new_name,... FROM table_name; 
  • 运算符和表达式

算术运算符(+,-,*,/)
比较运算符(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)

  • 模糊查询

通配符的使用(_,%);
使用LIKE查询

  • 范围查询

区间

BWTWEEN..AND 

对查询结果排序

SELECT ... FROM ...[WHERE]ORDER BY column1 DESC/ASC,...;
  • CASE ...WHEN语句
CASE column_name WHEN value1 THEN result1,...
[ELSE RESULT] END;
  • decode函数使用
decode(column_name,value1,result1,...defaultvalue); 

相关文章

网友评论

      本文标题:ORACLE学习之随记(2018-08-13)

      本文链接:https://www.haomeiwen.com/subject/ijtybftx.html