您的位置:首页 > 数据库 > Oracle

oracle基本命令练习笔记

2017-03-14 19:43 411 查看

第一章 用户

用户

系统用户,sys,system,sys权限高于system,密码自己设置

1.sysman用于操作企业管理器使用,密码自己设置

2.scott,默认密码tiger

3.在sys,system,sysman,scott四个用户权限中,scott用户最低

使用system用户登录

打开sqlplus,输入system/密码,登陆

connect sys/密码 as sysdba

Oracle用户和表空间之查看登录用户

show user
desc dba_users
select username from dba_users;


启用scott用户

alter user username account unlock;
alter user scott account unlock;


第二章 表空间

表空间

表空间

分为永久表空间,临时表空间,UNDO表空间

UNDO表空间,保存事务修改前的旧址

临时表空间,操作过程中的数据

查看用户表空间

dab_tablespacs,user_tablespaces
desc dba_tablespaces;
select tablespace_name from dba_tablespacs;
dba_users,users_users


设置默认或者临时表空间

alter user system default tablespace system;
select  default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';


创建表空间

create tablespace test1_tablespace datafile 'test1_datafile.dbf' size 10m;
create temporary tablespace tamptable_tablespace tempfile 'tmpetest1_datafile.dbf' size 10m;
desc dba_data_files;
select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE'


修改表空间

设置联机或者脱机状态

alter tablespace tablespace_name online/offline;

设置只读或者可读写状态,必须为联机状态;

alter tablespace tablespace_name read only/read write;

修改数据文件

*增加数据文件*

alter tablespace tablespace_name add datafile ‘xx.abf’ size xx;

删除数据文件,不能删除第一个数据文件

alter tablespace tablespace_name drop datafile ‘xx.abf’ size xx;

删除表空间

不删除文件

drop tablespace tablespace_name

删除表空间的同时删除文件

drop tablespace tablespace_name including contents;

第三章 管理表

管理表

数据类型

字符型:CHAR,NCHAR(多用于存储汉字);

VARCHAR2,NVARCHAR2;可变长度类型

数值型:NUMBER(p,s)

FLOAT,

日期型:DATE,

TIMESTAMP,

其他类型:BLOB,

CLOB,(字符串形式存储)

创建表

create table userinfo
(id number(6,0),
username varchar2(20),
userpwd varchar2(20),
useremil varchar2(30),
regdate date);


修改表

添加字段

ALTER TABLE table_name ADD column_name datatype;
alter table userinfo add beizhu varchar2(500);


更改字段的数据类型,表中没有数据是能够实现;

ALTER TABLE table_name MODIFY column_name datatype;

删除字段

ALTER TABLE table_name DROP column_name datatype;

修改字段名

ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;

修改表名

ALTER table_name TO new_table_name;

删除表

删除表中全部数据,截断表(表存在)

TRUNCATE TABLE table_name;

表结构删除

TROP TABLE table_name;

第四章 操作表中数据

操作表中数据

INSERT 语句,前面省略代表所有字段都要赋值

INSERT INTO table_name (column1,column2,...) VALUES(values1,values2,...)
insert into userinfo values(1,'xxx','123','xxx@126.com',sysdate);


向表中指定字段添加值

insert into userinfo(id,username,userpwd) values(2,'yyy','123');
select username,userpwd from userinfo;


向表中添加默认值

create table userinfo1 (
id number(6,0),
resgdate date default sysdate);
alter table userinfo modify email default '无';


复制表数据

在创建表时复制

CREATE TABLE table_name AS SELECT column1,...|*FROM table_old;
create table userinfo_new as select * from userinfo;
create table userinfo_new1 as select id,username from userinfo;


在添加时复制

I

NSRT INTO table_new [(column1,...)] SELECT column1,...|*FROM table_old;
insert into userinfo_new select * from userinfo;


字段名可以不一致,但是数据类型必须一致

insert into userinfo_new (id,username) select id,username from userinfo;

修改数据

UPDATE table_name SET column1=value1,…[WHERE conditions];

无条件更新

update userinfo set userpwd=’111111’;

有条件更新数据

update userinfo set userpwd=’123456’ where username=’xxx’;

删除数据库

删除表中全部数据,速度慢些

DELETE FROM tablename[WHERE conditions];

第五章 约束

约束

非空约束

在创建表时设置非空约束

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


在修改表时添加非空约束,修改前最好没有添加数据

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
alter table userinfo modify username varchar2(20) not null;


删除非空约束

ALTER TABLE table_name MODIFY column_name datatype NULL;
alter table userinfo modify username varchar2(20) null;


主键约束,确保表中每一行数据的唯一性,要求字段非空,唯一

在创建表时设置主键约束

CREATE table_name (
column_name datatype PRIMARY KEY,...);


在创建表时设置主键约束

CONSTRAINT constraint_name PRIMARY KEY (column_name1,...)
create table userinfo_p1(
id number(6,0),
username varchar2(20),
userpwd varchar(20),
constraint pk_id_username primary key(id,username));
desc user_constraints;
select constraint_name from user_constraints where table_name='USERINFO_P1';


修改表时添加主键约束

ADD CONSTRAINT constraint_name PRIMARY KEY (column_name1,…);

更改约束的名字

ALTER TABLE table_name RENAME CONSTRAINT old_name TO new_name;

删除主键约束

禁用约束

ALTER TABLE table_name DISABLE|ENABLEND CONSTRAINT constraint_name;

查看约束状态

select constraint_name,status from user_constraints where table_name=’USERINFO’;

删除约束

ALTER TABLE table_name DROP CONSTRAINT constraint_name;

有外键的时候用

ALTER TABLE table_name DROP PRIMARY KEY[CASCADE];

外键约束

创建表时设置外键约束

CREATE TABLE table1 (column_name datatype REFERENCES table2(column_name),...);
create table typeinfo
(typeid varchar2(10)primary key,
typename varchar2(20));


创建从表

create table userinfo_f
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10) references typeinfo(typeid));
insert into typeinfo(1,1);


第二个字段必须是主表字段值或者空值;

insert into userinfo_f(id,typeid_new) values(1,1)

在创建表时设置外键约束,ON DELETE CASCADE级联删除

CONSTRAINT constraint_name FOREIGN KEY(column) REFERENCES table_name (column_name)[ON DELETE CASCADE]
create table userinfo_f1
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10),
constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid));


加上级联删除

create table userinfo_f2
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10),
constraint fk_typeid_new1 foreign key(typeid_new) references typeinfo(typeid) on delete cascade);


在修改表时添加外键约束

ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name (column_name)[ON DELETE CASCADE]
create table userinfo_f4
(id varchar2(10) primary key,
username varchar2(20),
typeid_new varchar2(10));
alter table userinfo_f4 add constraint  fk_typeid_new4 foreign key(typeid_new) references typeinfo(typeid);


删除外键约束

DISABLE|ENABLEND CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;


**唯一约束,保证字段唯一性,主键约束字段值必须是非空的,唯一约束允许有一个非空值

主键约束每张表只能有一个,唯一约束可以有多个**

在创建表时设置唯一约束

CREATE TABLE table_name (colnum_name datatype UNIQUE,...)
create table userinfo_u
(id varchar2(10) primary key,
username varchar2(20) unique);
create table userinfo_u1
(id varchar2(10) primary key,
username varchar2(20),
constraint un_username unique(username));


在修改表时添加唯一约束

ADD CONSTRAINT constraint_name UNIQUE(column_name);

删除唯一约束

DISABLE|ENABLEND CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;


检查约束

让字段的值符合一定条件,具有实际意义

创建表时设置检查约束

CREATE TABLE table_name (colnum_name datatype CHECK(expressions),...);
create table userinfo_c
(id varchar2(10) primary key,
username varchar2(20),
salary number(5,0) check(salary>0));
CONSTRAINT constraint_name CHECK(expressions)
create table userinfo_c1
(id varchar2(10) primary key,
username varchar2(20),
salary number(5,0),
constraint ck_salary check(salary>0));


在修改表时添加检查约束

ADD CONSTRAINT constraint_name CHECK(expressions);
create table userinfo_c3
(id varchar2(10) primary key,
username varchar2(20),
salary number(5,0));
alter table userinfo_c3 add constraint ck_salary2 check(salary>0);


删除检查约束

DISABLE|ENABLEND CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;


第六章 查询

查询

在sqlplus中设置格式

别名

COLUMN column_name HEADING new_name

数据格式,字符类型只能设置显示长度 a10

COLUMN column_name FORMAT dataformat

去掉格式

COLUMN column_name CLEAR

DISTINCT 去掉重复行

通用通配符(,%)一个代表一个字符,%代表多个字符

IN 范围查询后加列表,查询列表内的内容

case when
decode()
select username ,decode(username,'aaa','计算机部门','bbb','市场部门','其他')as 部门 from users;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle