基本信息
系统用户:
sys,system
sysman
Scott
其中scott的默认密码是tiger
dba_users数据字典,数据库提供的表,用于查看数据库的信息
(命令: desc dba_users )
dba_tablespaces、user_tablespaces数据字典, 查看用户的表空间
(命令: desc dba_tablespaces )
dba_users、user_users数据字典
(命令: desc dba_users)
以上dba_****属于系统用户可以查看的数据字典,user_****为普通用户能查看的数据字典,系统用户也可以查看user_****数据字典,普通用户不能查看dba_****。
dba_data_files数据字典
查看系统表空间和临时表空间是什么的命令(临时表空间一般只有temp,如果还需要是需要自己创建的,SYSTEM账号默认表空间名为STYSTEM,普通用户为USER):
select default_tablespace, temporary_tablespace from dba_users where username='SYSTEM';
修改默认表空间命令(普通用户没有修改默认表空间的权限,修改权限需要去设定才能有):
ALTER USER system
DEFAULT TABLESPACE system;(修改默认表空间名USER -> SYSTEM)
实用命令
1.show user 查看当前登录用户
2.select username from dba_users;
3.alter user username account unlock; 启用用户的语句(如果想锁定把unlock改成lock)
4.create[temporary] tablespace tablespace_name tempfile | datafile 'xx.dbf' size xx; 创建表空间。 ([TEMPORARY] 为可选参数,如果是创建临时表空间就带上,对应的后面可选参数也用TEMPFILE, 不是就不要,后面也用DATAFILE )
eg: create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;
5.alter tablespace tablespace_name online | offline;设置联机或脱机状态
6.select status from dba_tablespace where tablespace_name='TABLESPACE_NAME';查看表空间状态
7.alter tablespace tablespace_name read only | read write;设置只读或可读写状态
8.alter tablespace tablespace_name add datafile 'xx.dbf' size xx; 增加数据文件
9.alter tablespace tablespace_name drop datafile 'filename.dbf'; 删除数据文件
10.drop tablespace tablespace_name [including contents]; 删除表空间(如果删除表空间需要将表空间文件一起删除就需要带上后面的参数)
11.create table table_name (column_name datatype, …); 创建表,同一个用户表名不能重复
eg: create table userinfo (id number(6,0), username varchar2(20), password varchar2(20) );
12.show userinfo;(查看表的结构和信息)
13.alter table table_name add column_name datatype; 添加字段
14.alter table table_name modify column_name datatype; 更改字段
15.alter table table_name drop column column_name; 删除字段
16.Alter table table_name rename column column_name to new_column_name; 修改字段名字
17.rename table_name to new_table_name; 修改表名字
18.truncate table table_name; 删除表 也称截断表因为它不会删除表结构只删除表数据表依然存在
19.drop table table_name; 删除表结构和数据表不存在了
20.insert into table_name (column1, column2, …) values(val1,val2,…);给表插入值如果不写(column1, column2, …)参数表示给表中所有字段添加值。
21.select username,password from userinfo; 查询表中指定的字段数据
22.create table userinfo (id number(6, 0), regdate date default sysdate);在创建表的时候给最后一列设置为自动获取系统时间
23.alter table userinfo modify username default '默认值'; 修改字段默认值,即插入数据时如果没有给该字段值将采用默认值
24.create table table_new as select column1,…|* from table_old; 在建立表时复制数据
25.Insert into table_new [(column1,…)] select column1,…|* from table_old; 在添加时复制数据, 表存在
26.update table_name set column1=value1,… [where conditions]; 更新数据
27.delete from table_name [where conditions]; 不带参数时删除表里面的所有数据
查询相关命令
1.select [distinct] column_name1,…|* from table_name [where conditions];
distinct参数用于去掉重复的行数据,比如查看username有多少个不重复的。
2.column column_name heading new_name;在SQL*PLUS中设置格式,设置查询结果格式(column可以简写col);注意实际表中的名字不会改变知识查询结果的改变
eg:
3.column column_name fromat dataformat; 设置查询结果显示格式,字符型用a+长度,数值型用9,比如a10,9999四位(999,三位这样);
eg:
4.column column_name clear; 清除设置的显示格式
- select (column1,…)|* from table_name; 查询表中的所有字段及指定字段
6.select column_name as new_name,… from table_name; 给字段设置别名。(as 可以省略,用空格隔开原来的字段名和新字段名即可)
注意: 使用as关键字设置字段别名的语法:select column_name as new_name,... from table_name;可以同时为多个字段设置别名。
使用column命令设置字段别名的语法:column column_name heading new_name,只能为一个字段设置别名。
eg:7.select column_name from table_name where column_name like 'xxx';
模糊查找。(xxx为模糊查找条件,其中'_'表示一个字符, '%'表示多个字符)
8.select….from…[where…] order by column1 desc/asc, …; 对查询结果排序
如果是想降序排列带上desc参数,如果是升序带上asc参数
9.case column_name when value1 then result1,…[else result] end; case…when语句的第一种使用。
eg: select column_name,case column_name when 'xxx1' then 'xxx_自定义1' when 'xxx2' then 'xxx自定义2' else 'xxx其它' end;
10.case when column_name=value1 then result1,…[else result] end;
case…when语句的第二种使用。标记地方可以用逻辑表达式等等。
11.decode(column_name, value1, result1,…defaultvalue);相当于case…when的第一种使用形式的函数式。
eg: select column_name,decode(column_name, 'xxx1', 'xxx_自定义1', 'xxx2','xxx自定义2', 'xxx其它');