oracle卸载:oracle安装路径\app\huyingzhao\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
*修改表空间(改)
修改表空间状态
设置联机或脱机状态
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE
设置只读或可读写状态(必须联机状态)
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE
修改数据文件
增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE ‘xx.dbf’ SIZE xx
删除数据文件
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);