首页 数据库 mysql教程 创建数据库表

创建数据库表

Jun 07, 2016 pm 03:59 PM
作用 创建 存储 数据 数据库 有效 结构

数据库的作用: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、数值数据类型:number用来存储整型或者浮点型的数值;binary_integer是PL/SQL中的整型,只能在PL/SQL中,速度比Integer慢;binary_double是Oracle10G提供的一种新的数据类型,用于存储一个双精度的64为浮点数;3、日期数据类型,用于存储日期和时间,data用于存储表中的日期和时间数据。Oracle数据库使用自己的格式存储日期,使用7个字节固定长度,每隔字节分别存储世纪、年、月、日、小时、分和秒。Oracle中的SYSDATE函数功能是返回当前的日期和时间;timestamp用于存储日期的年、月、日以及时间的小时、分和秒值(秒值准确到小数点后六位该数据类型包括时区信息),SYSTIMESTAMP函数功能是返回当前日期、时间和时区。4、大对象数据类型,用来保存较大的图形文件或带格式的文本文件,例如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);
登录后复制

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

例如:

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、更改主表中的值并导致相关表中的记录独立,如果班级信息表中

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

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

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

例如:ALTER TABLE 学员信息表

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

REFERENCES 班级信息表 (cla_id);

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

iPhone上的蜂窝数据互联网速度慢:修复 iPhone上的蜂窝数据互联网速度慢:修复 May 03, 2024 pm 09:01 PM

在iPhone上面临滞后,缓慢的移动数据连接?通常,手机上蜂窝互联网的强度取决于几个因素,例如区域、蜂窝网络类型、漫游类型等。您可以采取一些措施来获得更快、更可靠的蜂窝互联网连接。修复1–强制重启iPhone有时,强制重启设备只会重置许多内容,包括蜂窝网络连接。步骤1–只需按一次音量调高键并松开即可。接下来,按降低音量键并再次释放它。步骤2–该过程的下一部分是按住右侧的按钮。让iPhone完成重启。启用蜂窝数据并检查网络速度。再次检查修复2–更改数据模式虽然5G提供了更好的网络速度,但在信号较弱

特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! 特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! May 06, 2024 pm 04:13 PM

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

美国空军高调展示首个AI战斗机!部长亲自试驾全程未干预,10万行代码试飞21次 美国空军高调展示首个AI战斗机!部长亲自试驾全程未干预,10万行代码试飞21次 May 07, 2024 pm 05:00 PM

最近,军事圈被这个消息刷屏了:美军的战斗机,已经能由AI完成全自动空战了。是的,就在最近,美军的AI战斗机首次公开,揭开了神秘面纱。这架战斗机的全名是可变稳定性飞行模拟器测试飞机(VISTA),由美空军部长亲自搭乘,模拟了一对一的空战。5月2日,美国空军部长FrankKendall在Edwards空军基地驾驶X-62AVISTA升空注意,在一小时的飞行中,所有飞行动作都由AI自主完成!Kendall表示——在过去的几十年中,我们一直在思考自主空对空作战的无限潜力,但它始终显得遥不可及。然而如今,

AI初创集体跳槽OpenAI,Ilya出走后安全团队重整旗鼓! AI初创集体跳槽OpenAI,Ilya出走后安全团队重整旗鼓! Jun 08, 2024 pm 01:00 PM

上周,在内部的离职潮和外部的口诛笔伐之下,OpenAI可谓是内忧外患:-侵权寡姐引发全球热议-员工签署「霸王条款」被接连曝出-网友细数奥特曼「七宗罪」辟谣:根据Vox获取的泄露信息和文件,OpenAI的高级领导层,包括Altman在内,非常了解这些股权回收条款,并且签署了它们。除此之外,还有一个严峻而紧迫的问题摆在OpenAI面前——AI安全。最近,五名与安全相关的员工离职,其中包括两名最著名的员工,“超级对齐”团队的解散让OpenAI的安全问题再次被置于聚光灯下。《财富》杂志报道称,OpenA

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

58行代码把Llama 3扩展到100万上下文,任何微调版都适用 58行代码把Llama 3扩展到100万上下文,任何微调版都适用 May 06, 2024 pm 06:10 PM

堂堂开源之王Llama3,原版上下文窗口居然只有……8k,让到嘴边的一句“真香”又咽回去了。在32k起步,100k寻常的今天,这是故意要给开源社区留做贡献的空间吗?开源社区当然不会放过这个机会:现在只需58行代码,任何Llama370b的微调版本都能自动扩展到1048k(一百万)上下文。背后是一个LoRA,从扩展好上下文的Llama370BInstruct微调版本中提取出来,文件只有800mb。接下来使用Mergekit,就可以与其他同架构模型一起运行或直接合并到模型中。所使用的1048k上下文

See all articles