Oracle 用户和表空间、表空间、操作表中数据
阅读本文大概需要 5 分钟。
一、用户和表空间
1.查看登录用户
- show user命令
- dba_users数据字典
SQL>show user
SQL>desc dba_users
查看数据库的所有用户:
select username from dba_users;
2.启用scott用户
SQL> alter user scott account unlock;
二、表空间
1.理解表空间
- 数据库与表空间
- 表空间与数据文件
2.表空间分类
- 永久表空间
- 临时表空间
- UNDO表空间
3.查看表空间
- dba_tablespaces字段
- user_tablespaces字段
select tablespace_name from dba_tablespaces/user_tablespaces ;
- dba_users字段
- user_users字段
设置用户的默认或者临时表空间
ALTER USER username
DEFAULT|TEMPORARY
TABLSESPACE tablespace_name
4.创建表空间
CREATE [TEMPORARY] TABLESPACE tablespace_name
TEMPFILE|DATAFILE 'xx.dbf' SIZE XX;
5.修改表空间
1 >.修改表空间的状态
设置表空间的联机脱机状态:
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
设置表空间的读写状态:
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;
查看表空间的状态:
SELECT status FROM dba_tablespaces WHERE tablespace_name=’WHIEENZ_TBS’;
2 >.修改数据文件
增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;
删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf';
6.删除表空间
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];
三、操作表
1.认识表
- 每一列数据必须具有相同的数据类型
- 列名唯一
- 每一行数据唯一
2.数据类型
- 字符型
CHAR(n) 、NCHAR(n)、 VARCHAR2(n) 、NVARCHAR2(n)
- 数值型
NUMBER(p,s)、FOLT(n)
- 日期型
DATE、TIMESTAMP
- 其他类型
BLOB 、CLOB
3.管理表
1 >.创建表
CREATE TABLE tablename (column_name datatype,...)
2 >.修改表
修改表名
RENAME table_name TO new_table_name;
添加字段
ALTER TABLE table_name ADD column_name datatype;
更改字段名
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
更改字段数据类型
ALTER TABLE table_name MODIFY column_name datatype;
删除字段
ALTER TABLE table_name DROP COLUMN colunm_name;
3 >.删除表
删除表中全部数据
TRUNCATE TABLE table_name;
只删除表中数据不删除表
删除表
DROP TABLE table_name;
删除整个表和表中数据
4.操作表中数据
1 >.添加数据
INSERT语句:
INSERT INTO table_name
(column1,column2...)
VALUES (value1,value2,...);
- 为表中添加所有值
- 为表中添加指定值
- 为表中添加默认值
添加默认值,应在创建表或修改表时设置。例如:DEFALUT value
//创建表时
CREATE TABLE table_name
(column_name datatype DEFALUT value...);
//修改表时
ALTER TABLE table_name
MODIFY column_name datatype
DEFAULT value;
2 >.复制表中数据
在建表时复制
CREATE TABLE new_table_name AS SELECT column_name1,...|* FROM old_table_name;
在添加时复制
INSERT INTO table_name [(column_name1,...)] SELECT column_name1,...| * FROM old_table;
3 >.修改数据
UPDATA语句:
UPDATA table_name SET column_name1 = value,...[WHERE conditions];
4 >.删除数据
DELETE语句:
//无条件的删除
DELETE FROM table_name;
//删除表中全部数据 类似:
TRANCATE TABLE table_name;
//前者安全后者快
DELETE FROM table_name WHERE conditions;
//有条件的删除
越努力,越幸运!