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

创建数据库表-mysql教程

数据库的作用: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);

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


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • SQL中UPDATE SET FROM语句的使用方法及应用场景
    本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
author-avatar
YooHoo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有