oracle基本命令练习笔记
第一章 用户用户 show user desc dba_users select username from dba_users;
启用scott用户 alter user username account unlock;
alter user scott account unlock;
第二章 表空间表空间 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; 第三章 管理表管理表 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_name TO new_table_name; 删除表 TRUNCATE TABLE table_name; 表结构删除 TROP TABLE table_name; 第四章 操作表中数据操作表中数据 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,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;
在添加时复制 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=’222221’; 有条件更新数据 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,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,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,typeid_new varchar2(10),constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid));
加上级联删除 create table userinfo_f2 (id varchar2(10) primary key,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,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,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,salary number(5,0) check(salary>0));
CONSTRAINT constraint_name CHECK(expressions)
create table userinfo_c1 (id varchar2(10) primary key,constraint ck_salary check(salary>0));
在修改表时添加检查约束 ADD CONSTRAINT constraint_name CHECK(expressions);
create table userinfo_c3 (id varchar2(10) primary key,0));
alter table userinfo_c3 add constraint ck_salary2 check(salary>0);
删除检查约束 DISABLE|ENABLEND CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;
第六章 查询查询 COLUMN column_name HEADING new_name 数据格式,字符类型只能设置显示长度 a10 去掉格式 COLUMN column_name CLEAR DISTINCT 去掉重复行 case when
decode()
select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他')as 部门 from users; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |