洞察探索如何利用 FinClip 提供的跨平台小程序技术,实现高效的支付管理与合规运营
364
2023-12-31
这篇文章主要介绍了Oracle数据表如何管理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
SQLDeveloper工具的安装以及使用:
SQLDeveloper工具可以在oracle官网中进行-:(我-的是win64,根据情况自行-,-后解压至硬盘中即可使用)
解压后运行sqldeveloper.exe可执行文件,新建连接,添加scott用户后连接即可:
需要注意,SID是指数据库的唯一标识符,是建立一个数据库时系统自动赋予的一个初始ID,SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的。(如何查看SID,在WINDOWS平台中,可以到注册表中,查看HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,有一个ORACLE_SID。)
SQL结构化查询语言(Structured Query Language),简称为SQL。是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统的语言。
通过CREATE TABLE语句,如:CREATE TABLE table_name(column_name datatype...);
在创建数据表时,涉及数据表的结构问题,也就是涉及确定数据表中各个列的数据类型,是数值,字符,日期还是图像等其他类型。(因为只有设计好数据表结构,系统才会在磁盘中开辟相应的空间,用户才能够向表中填写数据。)
创建学生信息表的SQL语句:
SQL> conn scott/02000059 已连接。 SQL> create table student(sid number(8,2), name varchar2(20), sex char(2), birthdaydate, addresss varchar2(50)); 表已创建。 SQL>约束是Oracle提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。
Oracle中的约束:主键约束(primary key constraint)、唯一性约束(unique constraint)、默认约束(default constraint)、非空约束(not null constraint)、检查约束(check constraint)、外部键约束(foreign key constraint)。
PRIMARY KEY约束用于定义基本表的主键,它是唯一确定表中每一条记录的标识符,其值不能为NULL,与不能重复,以此来保证实体的完整性。表中主键只能有一个,但是可以由多个列构成。如:primary key(学号、科目编号)
创建表时添加主键约束:
SQL> conn scott/02000059 已连接。 SQL> create tablestudent(sid number(8,2),name varchar2(20), sex char(2), birthday date, address varchar2(50), constraint sid_pk primary key(sid)); 表已创建。修改表时添加主键约束:
SQL> create table student(sid number(8,2),name varchar2(20), sex char(2), birthday date, address varchar2(50)); 表已创建。 SQL> alter tablestudent add constraint sid_pk primary key(sid); 表已更改。非空约束(not null):用于确保列不能为NULL,如果在列上定义了NOT NULL约束,那么当插入数据时,必须为该列提供数据;当更新列数据时,不能将其值设置为NULL。(非空(not null)约束是列级约束)
附加说明:列级约束与表级约束定义上的区别?
列级约束语法格式:column [CONSTRAINT constraint_name] constraint_type,说明:列级约束必须跟着列的定义的后面。
创建表时添加非空(not null)约束:(自定义约束名称便于后期维护)
SQL> conn scott/02000059 已连接。 SQL> create table student(sid number(8,0), name varchar2(20) not null, sex char(2) constraint 2 nn_sex not null,birthday date, address date, constraint sid_pk primary key(sid)); 表已创建。删除非空(not null)约束的语法格式:ALTER TABLE table_name MODIFY column_name datatpe NULL;
命令行中的示例:
SQL> alter table student modify (name varchar2(20) NULL); 表已更改。 SQL>附加说明:删除约束的方式有两种:将约束激活或者无效化、将约束彻底删除
将约束无效化或者激活:ALTER TABLE table_name DISABLE | ENABLE CONSTRAINT constraint_name;;将约束彻底删除:ALTER TABLE table_name DROP CONSTRAINT constraint_name;。
删除主键约束的格式:ALTER TABLE table_name DROP PRIMARY KEY;;
命令行中的示例:(使主键约束无效化和删除主键约束)
SQL>alter table studentenable constraint sid_pk; 表已更改。 SQL> alter table student drop constraint sid_pk; 表已更改。 SQL>唯一性(unique)约束:唯一性约束用于指定一个或者多个列的组合值具有唯一性,以防止在列中输入重复的值。
创建表时添加唯一约束的示例:
C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on 星期二 11月 28 21:40:44 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. SQL> conn scott/02000059 已连接。 SQL> create table student(sid number(8,0), name varchar2(20), sex char(2), birthday date, address varchar2(50), email varchar2(50) unique, cardid varchar2(18), constraint uk_cardid unique(cardid)); 表已创建。 SQL>修改表时添加唯一性约束:
SQL> create table student(sid number(8,0), name varchar2(20), sex char(2), birthday date, address varchar2(50), email varchar2(50) unique, cardid varc har2(18)); 表已创建。 SQL> alter tablestudent add constraint uk_cardid unique(cardid); 表已更改。删除唯一性约束:有禁用约束或者是彻底删除两种方式
SQL> alter table student disableconstraint uk_cardid; 表已更改。 SQL> alter table student drop constraint uk_cardid; 表已更改。 SQL>创建表时添加检查约束的示例:(可以使用表级约束,也可以使用列级约束)
SQL> conn scott/02000059 已连接。 SQL> create table student(sid number(8,0), name varchar2(20), sex char(2) check(sex=男 or sex = 女), birthday date, address varchar2(50)); 表已创建。 SQL>SQL> conn scott/02000059 已连接。 SQL> create table student(sid number(8,0), name varchar2(20), sex char(2), birthday date, address varchar2(50), constraint ck_sex check(sex=男 or se x=女)); 表已创建。 SQL>修改表时添加检查(check)约束:
SQL> alter table studentadd constraint ck_sex check(sex=男 or sex=女); 表已更改。删除检查约束:有禁用约束或者是彻底删除两种方式
SQL>alter table studentdisable constraint ck_sex; 表已更改。 SQL> alter table student drop constraint ck_sex; 表已更改。外键(FOREIGN KEY)是用于建立和加强两个表数据之间的链接的一列或者多列。外键约束是唯一涉及两个表关系的约束。
设置外键约束的语法格式:
列级约束:CRAETE TABLE 从表 (column_name datatype REFERENCES 主表(column_name) [ON DELETE CASCADE],....);(ON DELETE CASCADE表示的是级联删除)
表级约束:CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES 主表(column_name) [ON DELETE CASCADE];
创建表时设置列级外键约束示例:
SQL> create table department(depid varchar2(10) primary key, depname varchar2(30)); 表已创建。 SQL> create table student(sid number(8,0), name varchar2(20), sex char(2), birthday date, address varchar2(50), depid varchar2(10) references department(depid)); 表已创建。创建表时设置表级外键约束示例:
C:\Users\Administrator>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 29 16:53:36 2017 Copyright (c) 1982, 2010, Oracle. All rights reserved. SQL> conn scott/02000059 已连接。 SQL> create table department(depid varchar2(10) primary key, depname varchar2(30)); 表已创建。 SQL> create table student(sid number(8,0), name varchar2(20), sex char(2), birthday date, address varchar2(50), depid varchar2(10), constraint fk_depid foreign key(depid) references department(depid) on delete cascade); 表已创建。 SQL>修改表时添加外键约束:alter table student add constraint fk_depid foreign key(depid) references department(depid) on delete cascade;
SQL> alter table student add constraint fk_depid foreign key(depid) references department(depid) ondelete cascade; 表已更改。 SQL>删除外键约束:有禁用约束和彻底删除两种方式
SQL> alter table student disableconstraint fk_dep 表已更改。 SQL> alter table student drop constraint fk_depid; 表已更改。 SQL>添加列语法结构:ALTER TABLE 表名 ADD 新增列名 数据类型;
举例:ALTER TABLE student ADD tel VARCHAR2(11);
SQL>ALTER TABLE student ADD tel VARCHAR2(11); 表已更改。 SQL>修改列语法结构:ALTER TABLE 表名 MODIFY 列名 新数据类型;
举例:ALTER TABLE student MODIFY tel NUMBER(11,0);
SQL> ALTER TABLE student MODIFY tel NUMBER(11,0); 表已更改。 SQL>删除列的语法结构:ALTER TABLE 表名 DROP COLUMN 列名;
举例:ALTER TABLE student DROP COLUMN tel;
SQL> ALTER TABLE student DROP COLUMN tel; 表已更改。 SQL>修改列名的语法结构:ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名
举例:ALTER TABLE student RENAME COLUMN sex TO gender;
SQL> ALTER TABLE student RENAME COLUMN sex TO gender; 表已更改。 SQL>修改表名的语法结构:RENAME 表名 TO 新表名;
举例:RENAME student TO studnetifo;
SQL> RENAME student TO studnetifo; 表已重命名。 SQL>删除表有两种方式:TRUNCATE TABLE 表名:用于删除表中的全部数据,并不是把表删除掉,这种删除方式要比DELETE方式删除数据的速度要快,也叫做截断表;DROP TABLE 表名:删除表结构。
示例:
SQL> truncate table emp_bak;表被截断。SQL> drop table emp_bak; 表已删除。 SQL>添加信息的语法结构:INSERT INTO 表名[(列1,列2, ... ,)] VALUES(值1,值2, ...,值N);
查询信息的语法格式:SELECT * | column[,...] from 表名;
修改信息的语法格式:UPDATE table SET column = value [, column = value, ...] [WHERE condition];
删除信息的语法格式:DELETE FROM table [WHERE condition];
什么是事务:事务可以看做是由对数据库的若干操作组成的一个单元,这些操作要么都完成,要么都取消,从而保证数据满足一致性的要求。
事务的组成:一条或者多条DML、一条DLL或者一条DCL语句。(DML语句需要使用COMMIT提交事务或者使用ROLLBACK回滚事务,而DDL和DCL是自动提交事务的。)
事务的控制命令:
提交事务(COMMIT):通过COMMIT语句可以提交事务,当执行了COMMIT语句后,会确认事务的变化、结束事务、删除保存点、释放锁。当使用COMMIT语句结束事务之后,其他会话可以查看到事务变化后的新数据。
回滚事务(ROLLBACK):ROLLBACK只能对未提交的数据撤销,已经commit的数据时无法撤销的,因为commit之后已经持久化到数据库中。
保存点(SAVEPOINT):是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点。当执行ROLLBACK时,通过指定保存点可以回退到指定的点。(设置保存点:SAVEPOINT a;, 回滚部分事务:ROLLBACK TO a;,回滚全部事务:ROLLBACK;)
什么是数据字典:是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。数据库数据字典是一组表和视图结构。数据字典中的表时不能直接被访问的,但是可以访问数据字典中的视图。
Oracle中常用的数据字典:Oracle中常用的数据字典分为三类,以三种前缀开头:user*、all、dba_。
user_*:该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all*:该视图存储了当前用户能够访问的对象的信息。(与user相比,all_并不需要拥有该对象,只需要具有访问该对象的权限即可。)
dba_*:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限。)
查看当前用户下的用户信息:SELECT * FROM user_users;
查看scott用户下的当前用户的用户信息:
查看用户有权访问的所有用户的基本信息:SELECT * FROM all_users;
查看scott用户下的所有用户的基本信息:
查看数据库所有用户的用户信息:SELECT *FROM dba_users;
使用scott用户无法查看所有用户的用户信息:
SQL>SELECT *FROM dba_users; SELECT * FROM dba_users 第 1 行出现错误: ORA-00942: 表或视图不存在 SQL>使用sys用户查看所有用户的用户信息:
感谢你能够认真阅读完这篇文章,希望小编分享的“Oracle数据表如何管理”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~