热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

创建数据库表

数据库的作用:1、有结构的存储大量数据。2、有效保持数据的一致性。3、方便智能的分析,产生新的有用的信息。4、满足应用的共享和安全的要求。关系型数据库的基本组成:一个数据库是由一组数据表(table)组成。2、表中的每一行成为记录(record)。3、表中的

数据库的作用:1、有结构的存储大量数据。2、有效保持数据的一致性。3、方便智能的分析,产生新的有用的信息。4、满足应用的共享和安全的要求。 关系型数据库的基本组成:一个数据库是由一组数据表(table)组成。2、表中的每一行成为记录(record)。3、表中的

数据库的作用:1、有结构的存储大量数据。2、有效保持数据的一致性。3、方便智能的分析,产生新的有用的信息。4、满足应用的共享和安全的要求。

关系型数据库的基本组成:一个数据库是由一组数据表(table)组成。2、表中的每一行成为记录(record)。3、表中的每一列称为字段(field)。

全局数据库名:唯一标识Oracle数据库的名称。

SID:Oracle数据库的一个引用。Scott账号:示例账号,默认口令是tiger。

连接数据库的方法:DOS环境下输入:c:/>sqlplus然后按提示连接,c:/>sqlplus 用户名/密码@数据库名连接到指定的数据库,c:/>sqlplus/nolog c:/>connect用户名/密码@数据库名。

在Oracle系统中表空间和数据文件是Oracle数据库结构的基本要素。

Oracle数据库采用有组织的方式存储信息,他有两种互为相关的物理存储结构和逻辑结构。物理存储结构是现实的数据存储单元,主要由数据文件(存储数据库数据的文件)、日志文件(记录对数据库进行的修改信息)和控制文件(记录数据库物理结构的二进制文件)组成;逻辑存储结构是数据概念上的组织。主要由表空间、

表、行等概念组成。

表空间是Oracle数据库存储数据的逻辑单元,用于存放数据库表、索引等对象的磁盘逻辑空间叫表空间(Tablespace)。数据库由多个表空间构成,而表空间由多个数据文件组成。

\

在程序中,可以组织SQL语句发送给数据库,数据库在执行相应的操作。

SQL语言的分类:1、数据定义语言(DDL),定义和管理数据库中的各种对象(CREATE语句用于创建对象、ALTER语句用于修改对象、DROP用于删除对象)。2、数据操作语言(DML),操作数据库对象所包含的数据(INSERT语句用于在数据表中插入一行数据、UPDATE语句用于更新或修改一行或多行的值、DELETE语句用于删除数据表中的一行或多行的数据,也可以删除表中的所以数据记录)。3、数据控制语言(DCL),对数据库对象操作的权限的控制(GRANT语句对用户或用户组授予数据库对象的权限、REVOKE语句回收权限)。

创建表空间语法如下:

CREATETABLESPACE tablespacename tablespacename指要创建表空间的名称

DATAFILE ‘filename’ [ SIZE integer [ K | M] ] DATAFILE指定组成表空间的一个或多个数据文件,当有多个数据文件时使用逗号隔开,filename指表空间中数据文件的路径和名称。SIZE是文件大小,用K指千字节大小,用M指定兆字节大小。

[AUTORXTEND [ OFF | ON] ]; AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。

例如:

create tablespace myhr
datafile 'myhr.dbf'
size 100M autoextend on;

Oracle中的CREATE USER命令用于创建新用户,每个用户拥有一个默认表空间和一个临时表空间。如果没有指定,Oracle就将USERS设为默认表空间。TEMP表示临时表空间。

创建用户的语法如下:

CREATEUSER <用户名> IDENTIFIED BY <口令> 必须制定用户名和用户口令

DEFAULTTABLESPACE <表空间名> DEFAULT TABLESPACE表示默认的表空间

TEMPORARYTABLESPACE <临时表空间名> 表示用户制定的临时表空间。

QUOTA<空间大小> ON <空间名称>

例如:

create user myhr identified by myhr
default tablespace myhr    
temporary tablespace temp
quota unlimited on myhr;

Oracle用户获得权限的方法:1、管理员直接向用户授予权限。2、管理员将权限授给角色,然后将角色授予一个或多个用户。权限分为系统权限(系统权限是在数据库中执行某种系统级别操作,或者针对某一类的对象执行某种操作的权利。)和对象权限(是指用户对具体的数据库中的对象所拥有的权限)。常见的系统权限:CREATE SESSION 连接到数据库、CREATE TABLE创建表、CREATEVIEW创建视图、CREATE SEQUENCE创建序列;

角色是一个或多个权限的集合,角色可以授予任何用户,也可以从用户中将角色收回。通过角色来进行对用户授予权限,可以大大简化数据库管理员的工作量。

授权方法:GRANT权限|角色TO用户名;取消授权:REVOKE权限|角色FROM 用户名;

例如:

grant connect,resource to myhr;

其中connect和resource都是数据库的内置角色。

字段类型:1、文本数据类型:char(用于描述定长的字符型数据,最大2000个字节。常用于存储少量文本),varchar2(用于描述变长字符数据,最大4000个字节),long(用来保存高达2G大小的数据,不过常被clob类型代替)。2、数&#20540;数据类型:number用来存储整型或者浮点型的数&#20540;;binary_integer是PL/SQL中的整型,只能在PL/SQL中,速度比Integer慢;binary_double是Oracle10G提供的一种新的数据类型,用于存储一个双精度的64为浮点数;3、日期数据类型,用于存储日期和时间,data用于存储表中的日期和时间数据。Oracle数据库使用自己的&#26684;式存储日期,使用7个字节固定长度,每隔字节分别存储世纪、年、月、日、小时、分和秒。Oracle中的SYSDATE函数功能是返回当前的日期和时间;timestamp用于存储日期的年、月、日以及时间的小时、分和秒&#20540;(秒&#20540;准确到小数点后六位该数据类型包括时区信息),SYSTIMESTAMP函数功能是返回当前日期、时间和时区。4、大对象数据类型,用来保存较大的图形文件或带&#26684;式的文本文件,例如word文档、音频、视频,其中clob用于存储大批量的文本,一个表可以有多个clob字段。blob用于存储二进制对象,比如图片等。

创建表语法:CREATETABLE 表名(字段名称 字段类型);

例如:

create table Student
(
  stu_id      varchar2(11),
  name        varchar2(10),
  age         number,
  class       varchar2(10),
  description varchar2(500)
);

查看表结构,可以再命令窗口输入DESC 表名;

例如:

desc Student;

数据完整性是指数据库中数据的准确性。

为了实现数据完整性,数据库需要做以下两方面工作:1、检验每行数据是否符合要求。2、检验每列数据是否符合要求。

Oracle数据库提供了以下四种类型的约束:1、实体完整性约束。2、域完整性约束。3、引用完整性约束。4、自定义完整性约束。

实体完整性约束,要求表中每一行数据反映不同的实体,不能存在相同的数据行,一般通过主键约束、唯一约束等方式实现。

添加主键约束的语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY(字段名);

例如:

alter table STUDENT
  add constraint PK_STU_ID primary key (STU_ID);

添加唯一约束的语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(字段名

例如:

alter table student 
  add constraint UQ_DESCRIPTION unique(description);

域完整性约束指给定字段的输入有效性,可以通过限制数据类型,检查约束、输入&#26684;式、默认&#20540;、非空约束等方法。

例如:

alter table student
      add constraint chk_age check(age>0);

在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系,例如:

班级信息表: 学员信息表:

班级编号(cla_id)

班级名称(cla_name)

C001

2012计算机一班

C002

2012计算机二班

C003

2012数学一班

学员编号(stu_id

班级编号(stu_cla_id

学员姓名(stu_name)

S101

C001

吕奉先

S102

C102

张文远

S201

C002

刘玄德

S301

C003

曹孟德

在管理学员信息时一个表用来存储班级的信息,也就是班级信息表,另一表用来存储学员的信息,即学员信息表。

并且两张表通过班级编号进行关联,这里我们一般将班级信息成为主表,学员信息表称作子表。在强制引用完整性时Oracle数据库禁止用户进行下列操作:1、当主表中没有关

联的记录时,将记录添加到相关表中,也就是说学员信息表中不能出现在班级信息表中不存在的班级编号。2、更改主表中的&#20540;并导致相关表中的记录独立,如果班级信息表中

的班级编号改变了,学员信息表中的班级编号也应该随之改变。3、从主表中删除记录,但仍存在与该记录匹配的相关记录,如果把班级信息表中的班级删除了,则该班级的班

级编号不能出现在学员信息表中。一般来说引用完整性约束是通过主键和外键之间的引用关系来实现。

创建外键约束的语法:ALTER TABLE 子表 ADD CONSTRAINT 约束名 FOREIGN KEY (子表的外键)REFERENCES 主表 (主表的主键);

例如:ALTER TABLE 学员信息表

ADD CONSTRAINT fk_子表名_外键 FOREIGN KEY (stu_cla_id)

REFERENCES 班级信息表 (cla_id);

自定义完整性约束:通常借助于数据库的规则、存储过程或者触发器对象来进行约束。


推荐阅读
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
author-avatar
洋洋哥2602913063
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有