ORACLE基本操作
2015-12-27 20:37
609 查看
insert into tt(aa,aa1,aa2..) values(bb,cc,dd...) |
INSERT INTO 表名 SELECT 列名 from 表名 -- 创建用户 create user han identified by han default tablespace users Temporary TABLESPACE Temp; grant connect,resource,dba to han; // 授予用户 han 开发人员的权利 -------------------- 对表的操作 -------------------------- -- 创建表 create table classes( id number(9) not null primary key, classname varchar2(40) not null ) -- 查询表 select * from classes; -- 删除表 drop table students; -- 修改表的名称 rename alist_table_copy to alist_table; -- 显示表结构 describe test -- 不对没查到 ----------------------- 对字段的操作 ----------------------------------- -- 增加列 alter table test add address varchar2(40); -- 删除列 alter table test drop column address; -- 修改列的名称 alter table test modify address addresses varchar(40; -- 修改列的属性 alter table test modi create table test1( id number(9) primary key not null, name varchar2(34) ) rename test2 to test; -- 查看ORACLE 数据库中本用户下的所有表 SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户下的所有表 select user,table_name from all_tables; -- 查看ORACLE 数据库中本用户下的所有列 select table_name,column_name from user_tab_columns; -- 查看ORACLE 数据库中本用户下的所有列 select user,table_name,column_name from all_tab_columns; -- 查看ORACLE 数据库中的序列号 select * from user_sequences; -- 上面的所有对象,都可以通过下面的SQL语句查询得到 -- 查询所有的用户生成的ORACLE对象 SELECT * FROM user_objects; -- 查看ORACLE 数据库中所有表的注释 select table_name,comments from user_tab_comments; -- 查看ORACLE 数据库中所有列的注释 select table_name,column_name,comments from user_col_comments; -- 给表加ORACLE的注释 COMMENT ON TABLE aa10 IS '系统参数表'; -- 给列加ORACLE的注释 COMMENT ON COLUMN aa10.aaa100 IS '参数类别'; -- 查看表中列的属性,包括 数据类型,是否非空等 DESC aa10; -- 通过系统表,查看表中列的属性,包括 数据类型,是否非空等 SELECT table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE FROM user_tab_columns ORDER BY table_name,COLUMN_ID; --查看所有表空间 selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name --查看未使用表空间大小 selecttablespace_name,sum(bytes)/1024/1024 from dba_free_space group bytablespace_name; -- 查看数据库中表、索引占用的数据库空间大小 SELECT * FROM user_segments; -- 查看所有表的记录数 CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20)); -- 通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交 select 'insert into table_count values('''||table_name||''', (select count(1)from '||table_name||'));//'||comments from user_tab_comments; -- 所有表的记录都在table_count了 SELECT * FROM table_count; |
创建自增的序列
create sequence class_seq increment by 1 start with 1 MAXVALUE 999999
NOCYCLE NOCACHE;
select class_seq.currval from dual
--
插入数据
insert into classes values(class_seq.nextval,'
软件一班
')
commit;
--
更新数据
update stu_account set username='aaa' where count_id=2;
commit;
--
创建唯一索引
create unique index username on stu_account(username); --
唯一索引
不
能插入相同的数据
--
行锁
在新打开的对话中不能对此行进行操作
select * from stu_account t where t.count_id=2 for update; --
行锁
--alter table stuinfo modify sty_id to stu_id;
alter table students drop constraint class_fk;
alter table students add constraint class_fk foreign key (class_id)
references classes(id);--
外键约束
alter
table
stuinfo
add
constraint
stu_fk
foreign
key
(stu_id)
references
students(id) ON DELETE CASCADE;--
外键约束
,
级联删除
alter table stuinfo drop constant stu_fk;
insert into students values(stu_seq.nextval,'
张三
',1,sysdate);
insert into stuinfo values(stu_seq.currval,'
威海
');
select * from stuinfo;
create table zhuce(
zc_id number(9) not null primary key,
stu_id number(9) not null,
zhucetime date default sysdate
)
create table feiyong (
fy_id number(9) not null primary key,
stu_id number(9) not null,
mx_id number(9) not null,
yijiao number(7,2) not null default 0,
qianfei number(7,2) not null
)
create talbe fymingxi(
mx_id number(9) not null primary key,
feiyong number(7,2) not null, //
共
7
位数字,小数后有两位
class_id number(9) not null
}
create table card(
card_id number(9) primary key,
stu_id number(9) not null,
money number(7,2) not null default 0,
status number(1) not null default 0 --0
表可用
,1
表挂失
)
--
链表查询
select c.classname||'_'||s.stu_name as
班级
_
姓名
,si.address from
classes c,students s , stuinfo si where c.id=s.class_id and
s.id=si.stu_id;
insert into students values(stu_seq.nextval,'
李四
',1,sysdate);
insert into stuinfo values(stu_seq.currval,'
南京
');
--
函数
select rownum,id,stu_name from students t order by id asc;
--
中间表实现多对多关联
--
(
1 1
,
1 n
,
n 1
,
n n
)
--1 n
的描述
1
的表不作处理
n
的表有
1
表的字段
--1 1
的描述
主外键关联
--n n
的描述
中间表实现多对多关联
create
table course(
course_id number(9) not null,
相关文章推荐
- Oracle复习之第二章
- ORACLE——日期时间格式化参数详解
- Linux下Oracle的启动和关闭
- 【已解决】安装oracle11g弹出java.lang.nullPointException
- 【oracle】使用oracle常见错误汇总
- NoSQL数据库和oracle数据库等一些问题的收集
- Centos6.5_x86上Oracle11g2 32位的安装与卸载以及相关问题汇总
- Oracle日常维护中管理用户以及重做日志文件的方法
- Oracle数据库中表空间的基本管理操作小结
- Oracle执行计划顺序
- Oracle执行计划详解
- EF:打开Oracle连接时报错
- Oracle数据库中的控制文件管理以及常用参数设置
- Oracle数据库中的基本建库操作详解
- ORACLE中表死锁的处理
- Oracle GoldenGate for Big Data 12.2.0.1的新特性
- Linux系统下Oracle数据库的安装和启动关闭操作教程
- JDBC_使用ResultSet 执行查询操作(基于oracle数据库)
- Oracle Alert - APP-ALR-04108: SQL error ORA-01455
- windows2012安装oracle 12c r1