5表的创建及管理详解
表的创建与维护以及数据操纵
感谢您的观看
THANKS
表的删除与重建
删除
在某些情况下,可能需要删除表或表中的数据。删除操作可 以是简单的删除表中的行,也可以是完全删除整个表。
重建
如果表出现性能问题、损坏或过时,可能需要重建表。重建 操作可以重新创建表的结构,包括索引、触发器、存储过程 等,并可能重新组织数据的物理存储。
05 数据操纵的实践应用
数据操纵在电子商务中的应用
பைடு நூலகம்恢复
如果发生数据丢失或损坏,可以通过 恢复备份来恢复数据。恢复操作可以 还原整个数据库、单个表或特定数据 。
表的优化与调整
优化
随着数据的增加和查询的频繁执行,数据库表的性能可能会下降。优化表可以提 高查询速度和响应时间,通常包括对表进行重新组织、重建索引或调整存储参数 。
调整
根据业务需求和数据增长,可能需要调整表的存储参数、索引或分区策略。调整 可以确保表在性能、存储和可管理性方面保持最佳状态。
外键约束
确保参照完整性,即引用表中 的数据在所引用的表中存在。
非空约束
确保某列必须有值,不能为空 。
唯一约束
确保某列的值是唯一的,没有 重复值。
02 表的数据操纵
插入数据
使用INSERT INTO语句
01
通过指定表名和要插入的数据,使用INSERT INTO语句将新记
录插入到表中。
插入多行数据
02
一个学生选修多门课程,一门课程 有多个学生选修。
数据库实现
通过引入第三个表(关联表)来实 现多对多关系,关联表包含两个外 键列,分别引用两个相关表的主键 列。
04 表的维护
表的备份与恢复
备份
定期对数据库表进行备份是至关重要 的,以防数据丢失或损坏。备份可以 包括整个数据库、单个表或仅特定数 据。
第3章:表的创建和管理
第3章:表的创建和管理(一)3.1SQL Server 2000中的数据类型3.1.1 数字数据类型1.整数类型bigint:存储大小8个字节。
int:存储大小4个字节。
smallint:存储大小2个字节。
tinyint:存储大小1个字节。
用于存储0到255的整型数据。
bit:用于存储整数,但只能取0,1或者NULL,可以用于做逻辑运算。
2.小数类型float[(n)]:用于存储一定范围之内的浮点数,当n在1到24之间时,精度是7位,占有4个字节。
当n在25到53之间时,精度位15个有效数字,占用8个字节。
real:用于存储一定范围的浮点数,占用4个字节,相当于float(24).decimal[(p,[s])]和numeric[(p,[s])]数据类型:用于存储带小数点且数值确定的数据。
[表示数值的全部位数,取值范围为1到38,其中包括小数的位数。
但不包括小数点在内,p称为该数值的精度;s表示小数的位数。
money和smallmoney用来存储货币类型的数据,它们带有4位小数。
在money和smallmoney 类型的劣种输入货币数据时,应当在货币数据后面加一个货币符号。
输入负值时,应当在货币数据后面加上一个负号。
money占8个字节。
smallmoney占4个字节。
3.1.2 字符串类型数据1. 非Unicode字符串类型char[(n)]:是一种长度固定的非Unicode字符数据,其长度为n个字节,n必须是1到8000之间的数值。
如果没有指定n则默认为1。
varchar[(n)]:是一种长度可变的非Unicode的字符数据,其长度为n个字节,n必须是1到8000的数值。
数据的存储大小为输入数据的字节的实际长度,而不是n个字节。
如果没有定义n,则默认长度为1。
text:是一种服务器代码页中长度可变的非Unicode数据。
2. Unicode字符串类型nchar(n):是一种长度固定的Unicode字符数据,其中包含n个字符,n的值必须在1到4000之间。
任务五 Student、Course和sc数据表创建、修改、删除
student表的表结构 第1章
否 是 是 9 10 2
是否空 长度
数据库技术基础
备注 主键
出生日期 民族
政治面貌
date varchar
varchar
是 是
是
10
8
SQL语句如下: use D_sample; create table student(学号 char(9) primary key,姓名 varchar(10),性别 char(2),出 生日期 date,民族 varchar(10),政治面貌 varchar(8));
任务五 Student任务四 、Course 和sc数据表创建、修改、删除 D_sample 数据库的管理
2. 查看表的信息 (1)查看数据库中所有表的信息 第1章 数据库技术基础
SHOW TABLES;
例4 查看D_sample数据库中所有表的信息。
SQL语句为:show tables;
任务五 Student任务四 、Course 和sc数据表创建、修改、删除 D_sample 数据库的管理
course表的表结构 第1章
是否空 否 是 是 是 是 是
长度 5 30
数据库技术基础
备注 主键
8
SQL语句如下: use D_sample; create table course(课程号 char(5) primary key,课程名称 varchar(30),课程简介 text,课时 int,学分 int,开课学期 varchar(8));
浮点型
MySQL数据类型 float(m, d) double(m, d) decimal(m, d) 含义 4字节,单精度浮点型,m总个数,d小数位 8字节,双精度浮点型,m总个数,d小数位 decimal是存储为字符串的浮点数
表的创建与管理-第5章数据库对象的操作
– (2)种类:系统数据类型和用户自定义数据类型。 SQL Server2005中列的数据类型既可以是系统数
据类型也可以是用户自定义数据类型。
上一页
下一页
返回本章首页
第6章 表的创建与管理
类型
精 小数 长度(字 范围 度 位数 节)
二进 制型
Binary[(n)]
\\
Varbinary[(n)] \ \
N+4
固定
1~8000 为实际输入长度+4
日期型 datetime
\\
8
1753年1月1日到9999年12月31
smalldatetime \ \
4
1900年1月1日到2079年12月31
231-1 为实际输入字符数(ASCII)
230-1 为实际输入字符数(Unicode)
上一页
下一页
返回本章首页
第6章 表的创建与管理
类型
精 小数 长度 范围 度 位数 ( 字节)
整数型 bigint
Int smallint
19 0
8
10 0
4
50
2
-263~263-1
-231~231-1 -215~215-1
Smallint:可以存储从-215(-32,768)到215-1范 围之间的所有正负整数 。
Tinyint:可以存储从0到255范围之间的所有正整 数。
上一页
下一页
返回本章首页
第6章 表的创建与管理
2. 浮点数据类型
浮点数据类型用于存储十进制小数。浮点数值的 数据在SQL Server中采用只入不舍的方式进行存储 。
数据库技术及应用-表的创建与管理
14
< table_constraint >
::= [ CONSTRAINT constraint_name ] { { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] (column [ ASC | DESC ] [ ,...n ] ) [ ON { filegroup | "default" } ] | FOREIGN KEY ( column [ ,...n ] ) REFERENCES referenced_table_name[(ref_column [ ,...n ])] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) }
束参考的表。当需要删除这种有外键约束参考的表时, 必须先删除外键约束; 当删除表时,属于该表的约束和触发器也会自动删除。 DROP TABLE语句可以一次性删除多个表,表之间 用逗号分开。
20
注意
标识列的数据类型必须为整数型; 标识列数据由系统自动生成,不可以手工输入; 如果想手工(通过命令)输入标识列的值,可以
删除约束:D修RO改P后CO的NS列T不RA能IN为T : 使用sp_renam•• e数计:据算重类列命型或名为用表于ti名m计与e算s列t列a名m的p列的。列。
sp_rename 'ob•je用ct_于na主me键','或ne外w_键na约me束' [,中'ob的je列ct_。type'] • 用于CHECK或UNIQUE约束中的列。
权限系统设计五张表
权限系统设计五张表在进行权限系统设计时,一项十分重要的任务是设计适当的数据库表结构。
数据库表的设计决定了系统的灵活性、效率和数据的完整性。
本文将介绍一个权限系统的设计,包括五张表的设计和结构。
表一:用户表(User)该表用于存储系统中的用户信息。
它包含以下字段:1. 用户ID(UserID):用于唯一标识每个用户的ID。
2. 用户名(Username):用户的登录名。
3. 密码(Password):用户的密码,需要进行加密存储。
4. 姓名(Name):用户的真实姓名。
5. 邮箱(Email):用户的电子邮箱地址。
6. 手机号码(PhoneNumber):用户的手机号码。
表二:角色表(Role)角色表用于存储系统中的角色信息,该表包含以下字段:1. 角色ID(RoleID):用于唯一标识每个角色的ID。
2. 角色名称(RoleName):角色的名称,如管理员、普通用户等。
3. 角色描述(RoleDescription):对角色进行详细描述。
表三:权限表(Permission)权限表用于存储系统中的权限信息,该表包含以下字段:1. 权限ID(PermissionID):用于唯一标识每个权限的ID。
2. 权限名称(PermissionName):权限的名称,如查看、编辑等。
3. 权限描述(PermissionDescription):对权限进行详细描述。
表四:角色-权限关联表(RolePermission)角色-权限关联表用于记录角色和权限之间的关系,该表包含以下字段:1. 关联ID(ID):用于唯一标识每个角色-权限关联的ID。
2. 角色ID(RoleID):与角色表中的角色ID关联。
3. 权限ID(PermissionID):与权限表中的权限ID关联。
表五:用户-角色关联表(UserRole)用户-角色关联表用于记录用户和角色之间的关系,该表包含以下字段:1. 关联ID(ID):用于唯一标识每个用户-角色关联的ID。
sqlserver基本表的创建与管理
课程表 (课程号,课程名,学分,学期)
CREATE TABLE Course ( Cno CHAR(6) NOT NULL, Cname CHAR(20) NOT NULL, Credit TINYINT , --学分 Semester CHAR(2), --学期 PRIMARY KEY (CNO) )
FOREIGN KEY ( CNO ) REFERENCES Course(Cno)
)
5.3 修改表结构
• 包括增加、删除和修改列定义 • 实现手段 • 使用企业管理器 • 使用SQL语句
修改表结构语句
ALTER TABLE <表名> ADD <列名 类型> | DROP COLUMN 列名 | ALTER COLUMN <列名 新类型>
第 5 章 基本表的创建与管理
用户自定义数据类型 5.2 创建表 5.3 修改表结构 5.4 删除表
5.1
5.1 用户自定义数据类型
作用:使具有相同语义的属性在不
同地方的定义一致 使用企业管理器
5.2 创建表
创建表就是定义表中各个列的类
型和约束 使
指明本表外码列引用的表及表中的主码列。
[ FOREIGN KEY (<本表列名>)] REFERENCES <外表名>(<外表主码列名>) 例: FOREIGN KEY (sno) REFERENCES 学生表(sno)
表的创建和管理(约束)
表的创建和管理创建了数据库,需要创建表存储数据。
本章介绍:●表结构的创建、修改、删除;●表数据的插入、更新、删除;●表数据的约束(主键、唯一、检查、默认、外键)一、表的概念数据表的概念在第1章已经介绍,即:●表由行、列构成,●行代表一条记录,列代表记录的一个属性。
●行列的次序并不影响数据。
SQL SERVER2008允许每个数据库最多20亿张表,每张表最多1024列,每行数据最多8K。
二、数据类型SQL SERVER的数据有数据类型,在创建表结构时需要确定表中每列的数据类型。
SQL SERVER的数据类型有系统数据类型和用户自定义数据类型。
1、系统数据类型(常用)2、用户自定义数据类型SQL Server用户自定义数据类型从系统类型派生,指定一个容易记忆的名称,便于统一使用某种数据类型。
例如:邮政编码都是6个数字字符的号码,数据类型可以用char(6)表示。
为了方便以后统一使用,可以指定一个名字zip代表char(6)这种数据类型。
zip就是用户自定义数据类型。
(1)使用企业管理器管理自定义数据类型●创建:数据库-可编程性-类型-用户自定义类型-右键-新建“用户定义数据类型”-输入名称、选择数据类型等确定后创建。
●删除:数据库-可编程性-类型-用户自定义类型-选中自定义数据类型-右键删除-删除对象窗口-确定例3-1:使用企业管理器,创建一个用户自定义数据类型telphone_code,系统数据类型为varchar(15),允许空。
(2)使用T-SQL语法管理自定义数据类型●创建:CREATE TYPE <类型名> FROM <系统类型> [NULL | NOT NULL]●删除:DROP TYPE <类型名>例3-1:使用T-SQL,创建一个用户自定义数据类型telphone_code,系统数据类型为varchar(15),允许空。
(使用T-SQL)CREATE TYPE telphone_code FROM varchar(15) NULLDROP TYPE telphone_code例3-2、例3-3:T-SQL创建删除自定义数据类型(参见教材、略)三、表结构的创建、修改和删除1、表结构的创建(1)使用企业管理器创建表结构数据库-表右键-“新建表”-表设计器窗口。
表的创建与使用
02
使用REPLACE语句替换数据
REPLACE语句可以根据主键或唯一索引的值,替换表中已有的数据记
录。
03
使用批量更新操作
可以一次性更新多条数据记录,提高数据更新的效率。
删除数据
使用DELETE语句删除数据
通过指定删除条件,将数据表中的满足条件的数据记录进行删除。
使用TRUNCATE TABLE语句清空表数据
THANKS FOR WATCHING
感谢您的观看
字段(Field)
主键(Primary 外键(Foreign
…
…
表中的垂直部分,用于存 储特定类型的数据。每列 都有一个唯一的名称和数 据类型。
表中的水平部分,代表一 条记录。每行包含多个字 段,对应表中的多个列。
表中的某个列与某行的交 叉点,表示一个具体的数 据值。
用于唯一标识表中每条记 录的一个或多个字段的组 合TE TABLE语句可以快速清空表中的所有数据,但不删除表结构。
使用DROP TABLE语句删除表
DROP TABLE语句可以删除整个表及其相关的数据和结构。
查询数据
使用SELECT语句查询数据
使用聚合函数进行数据统计
通过SELECT语句可以指定要查询的列、表 以及筛选条件,获取需要的数据记录。
01
通过指定列名和对应的值,将数据插入到表中的指定位置。
使用INSERT语句插入多行数据
02
可以一次性插入多行数据,提高数据插入的效率。
使用LOAD DATA语句导入数据
03
通过LOAD DATA语句,可以将外部文件中的数据导入到表中。
更新数据
01
使用UPDATE语句更新数据
通过指定更新条件和新的值,将数据表中的现有数据进行更新。
《创建和管理表》课件
选中需要添加底纹的单元格或整个表格,点击工具栏中的“底纹颜色”按钮,选择需要的颜色。
添加底纹
选中表格,点击右键选择“表格属性”,在弹出的对话框中可以自定义边框和底纹的设置。
自定义边框和底纹
THANKS
感谢您的观看。
总结词
详细描述
总结词:在网页中插入表格可以清晰地展示数据和信息,提高网页的可读性和易用性。,使用“”标签定义单元格。单元格中可以放置文字、图片或其他元素。还可以使用CSS样式来美化表格的外观,如调整边框、间距和颜色等。
05
CHAPTER
表格的常见问题及解决方案
选中表格,拖动表格的边角,可以整体调整表格的大小。
详细描述
在Microsoft Word等文档编辑软件中,用户可以通过点击“插入”菜单,选择“表格”选项,然后选择所需的行数和列数来创建表格。表格中的每个单元格可以用来放置不同的内容,如文字、图片或数据。
总结词
在幻灯片中插入表格可以有效地展示数据和信息,使观众更容易理解演讲者的观点。
在Microsoft PowerPoint等演示软件中,用户可以在幻灯片中插入表格,通过点击“插入”菜单,选择“表格”选项,然后选择所需的行数和列数来创建表格。表格中的单元格可以用来放置文字、图片或数据,还可以通过调整字体、颜色和边框样式来美化表格。
总结词
表格的组成元素包括表头、表身和表注。
详细描述
表头是表格的第一行,用于标识每一列的数据内容。表身是表格的主体部分,包含了具体的数据记录。表注是对表格的补充说明,通常用于解释表格中的某些特殊数据或提供额外的信息。
根据不同的分类标准,可以将表格分为多种类型。
总结词
按照数据的组织方式,表格可以分为简单表、分组表和汇总表等。简单表是只包含基础数据的表格,分组表是将数据按照某一标准进行分类后组成的表格,汇总表则是在分组表的基础上对数据进行汇总和统计。此外,根据表格的表现形式,还可以分为文字表格、图形表格等。
WPS教程如何创建和管理数据
WPS教程如何创建和管理数据WPS办公软件是一款功能强大的办公工具,它包含了文字、表格和演示等多种功能模块,广泛应用于办公场景中。
在使用WPS时,我们经常需要创建和管理数据,本教程将介绍如何使用WPS办公软件创建和管理数据。
一、创建数据表数据表是一种结构化的数据存储方式,可以将数据按照不同的字段分类和组织。
在WPS表格中,我们可以通过以下步骤来创建数据表:1. 打开WPS表格软件,选择一个空白的工作表。
2. 在第一行输入数据表的字段名称,每个字段占据一列。
例如,可以按照姓名、年龄和性别三个字段创建一个学生信息表。
3. 在第二行及以下的行中输入具体的数据,每一行代表一个记录。
按照字段的对应关系,填写每个记录的信息。
通过以上步骤,我们就成功创建了一个简单的数据表。
在填写数据时,可以根据需要插入新的行或列,并对数据进行格式化、排序和筛选等操作,以满足不同的需求。
二、数据的排序与筛选当数据量较大时,我们常常需要对数据进行排序或筛选,以便更好地进行查阅和分析。
WPS表格提供了丰富的排序和筛选功能,具体步骤如下:1. 选择需要排序或筛选的数据范围。
2. 点击工具栏中的“排序”或“筛选”按钮,进入相应的功能界面。
3. 根据需要选择排序字段、排序方式或筛选条件,并进行相应设置。
4. 点击“确定”按钮,即可完成排序或筛选操作。
通过排序功能,我们可以按照某个字段进行升序或降序排列,方便查找和比较。
而筛选功能则可以根据设定的条件,过滤出符合要求的数据,从而进行更精细化的数据分析。
三、数据的计算和统计除了存储和管理数据,WPS表格还可以进行数据的计算和统计,方便我们对数据进行各种分析和处理。
以下是一些常用的计算和统计功能:1. 公式计算:WPS表格支持各种常用的数学、统计和逻辑运算符,可以通过输入公式来对数据进行计算。
例如,我们可以使用SUM函数计算一列数字的总和,使用AVERAGE函数计算平均值等。
2. 数据透视表:数据透视表是一种强大的数据分析工具,可以对大量的数据进行汇总和分析。
表的创建与管理实验遇到的问题及解决方法
表的创建与管理实验遇到的问题及解决方法在本文中,将探讨表的创建与管理实验中可能遇到的一些问题,以及解决这些问题的方法。
我们将从基础知识和常见问题开始,逐步深入探讨,帮助读者全面理解这一主题。
一、基础知识1. 表的概念和作用我们需要了解什么是表,在数据库中的作用是什么。
表是数据库中用来存储数据的基本单位,它由行和列组成,每一行代表一个记录,每一列代表一个字段。
表的创建是数据库设计的第一步,也是数据管理的核心。
2. 表的创建语法在SQL语言中,创建一个表需要使用CREATE TABLE语句,通过指定表的名称和字段的属性来完成。
在实际操作中,我们需要了解不同数据库管理系统的语法差异,例如MySQL、SQL Server、Oracle等。
3. 表的管理操作包括对表的增、删、改、查等基本操作,以及对表结构的修改、索引的创建等高级操作。
二、常见问题及解决方法在实际操作中,我们可能会遇到以下一些问题:1. 表的创建失败可能是由于语法错误、权限不足、字段重复等原因导致的。
解决方法是仔细检查语法、确认权限、重新设计表结构等。
2. 表的字段类型选择在创建表时,选择合适的字段类型是非常重要的。
不同的字段类型适用于不同的数据类型,选择不当会导致数据存储不当,影响查询和性能。
3. 表的主键和外键设置主键和外键的设置对于数据的完整性和关联性非常重要,需要仔细考虑和设计,避免出现数据不一致或关联错误的问题。
4. 表的索引设计合理的索引设计可以提高查询效率,但不当的索引设置也会降低性能并占用大量空间。
需要根据实际情况设计和优化索引。
5. 表的数据量过大当表的数据量过大时,查询和操作性能会受到影响,需要进行分区、分表、数据压缩等操作来解决。
总结与回顾通过本文的介绍,我们深入了解了表的创建与管理实验中可能遇到的问题及解决方法。
从基础知识到常见问题,再到解决方法的具体介绍,希望能帮助读者更好地掌握这一主题。
在实际操作中,需要综合运用知识和经验,才能更好地处理表的创建与管理。
表的创建与管理
表的创建与管理●创建表●表结构的修改●表的重命名与删除●向表中添加、更新、删除数据1.创建表SQL Server 2000提供了两种方法创建表:一. 利用Enterprise Manager创建表以创建数据库JWGL中学生表为例,下面进行使用企业管理器创建表的介绍。
①进入企业管理器,分别点击“数据库”、“JWGL”、“表”,再点击菜单“操作”、“新建表”(或右击“表”,在弹出的快捷菜单上点击“新建表”);②依次输入字段名学号、姓名、性别、年龄、政治面貌、家庭住址、入学年份、所在院系、班级名及相应的数据类型、字段长度等设置值。
数据类型是指数据存放在计算机内存中的存储格式,代表了不同的信息类型。
数据类型由SQL Server系统定义,含系统数据类型和用户定义的数据类型注意:SQL Server 2000中,为字段列选择合适的数据类型尤为重要,影响着系统的空间利用、性能、可靠性和是否易于管理等特性。
SQL Server支持的所有数据类型:十六进制型binary, varbinary 字符型char日期时间datetime, smalldatetime 整数型int, smallint, tinyint精确数型decimal , numeric 浮点数型float, real货币型money, smallmoney 位型bit时间戳型timestamp 文本型text 图像型image1.空值·允许空值意味着用户在向表中插入数据时可忽略该字段值·若字段为空,则需要更多的存储空间,并可能产生其他性能上的或存储方面的问题2.字符型输入的数据必须用单引号括起来,字符串变量有两种:·定长char(长度固定) 实际长度不足定义长度,尾部以空格补足·可变长varchar(长度可变) 实际长度不足定义长度,丢掉尾部空格节省空间1) 字符型字段的长度字符串字段的最大长度为8000个字符varchar(1)格式不正确char和varchar的选择原则:♦预先知道在某一列只能输入长度固定的字符串用char型,如:学号,身份证号♦varchar型在存储时删除了尾部空间,能节省空间3.十六进制型存储十六进制数或十六进制字符串♦十六进制型最大长度为8000个字节♦十六进制数由0-9,A-F,a-f组成, 0x作为开头,每两个字符为一组,构成一字节♦定长 binary♦长度可变 varbinary若字段被定义为binary 和varbinary类型,则必须为其规定最大长度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表的创建及管理1、本次预计讲解的知识点1、数据表的创建及管理;2、表约束的创建及管理3、利用DDL、DML完成一套完整的操作案例;4、序列的使用;5、数据的集合操作;6、PL SQL Developer工具的使用;2、具体内容2.1、表的创建及管理(重点)对于数据库而言实际上每一张表都表示的是一个数据库对象,而在数据库中对象指的就是DDL定义的所有操作,例如:表、视图、索引、序列、约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法:·创建对象:CREATE 对象名称……;、·删除对象:DROP 对象名称.....;·修改对象:ALTER 对象名称......;2.1.1、常用的数据字段每一张数据表实际上都是由若干个字段所组成,而每一个字段都会有其对应的数据类型,而在Oracle之中,常用的数据类型有如下几种:No. 数据类型关键字描述1 字符串V ARCHAR2(n) 其中n表示的是字符串所能保存的最大长度,基本上保存200个左右的内容2 整数NUMBER(n) 表示最多为n位的整数,有时候也可以使用IN代替3 小数NUMBER(n,m) 其中m为小数位,n-m为整数位,有时候也可以使用FLOAT代替4 日期DATE 存放日期-时间5 大文本CLOB 可以存储海量文字(4G),例如存储《三国演义》、《红楼梦》6 大对象BLOB 存放二进制数据,例如:电影、MP3、图片、文字一般开发之中使用最多的:V ARCHAR2()、NUMBER、DATE、CLOB,而对于BLOB字段一般使用较少,首先BLOB可以存放4G的二进制数据,但是存放进去之后,一是数据库过于庞大,二是读取不方便;2.1.2、表的创建如果现在要想进行表的创建,可以使用如下的操作语法:CREAT TABLE 表名称(字段1 数据类型[DEFAULT 默认值],字段2 数据类型[DEFAULT 默认值],.........字段2 数据类型[DEFAULT 默认值]);下面创建一张成员表(member),有如下保存的信息:姓名、年龄、生日、个人简介。
CREATE TABLE member(name V ARCHAR2(50) DEFAULT '无名氏',age NUMBER(3),birthday DATE DEFAULT SYSDATE,content CLOB);表创建成功后,下面开始向表中增加数据:INSERT INTO member(name,age,birthday,content)V ALUES('张三',20,TO_DATE('1990-08-12','yyyy-mm-dd'),'好人');INSERT INTO member(age,content)V ALUES(20,'好人');一定要再次记住,表的创建时属于数据库对象的创建,所以使用的是CREA TE语法。
2.13、表的复制在之前学习过表的复制操作,下面给出完整的操作语法:CREATE TABLE 复制表名称AS 子查询;范例:复制一张只包含20部门雇员信息的表;CREATE TABLE emp20 ASSELECT * FROM emp WHERE deptno=20;范例:现在要求将emp表的表结构复制出来,不要数据---写个永远满足不了的条件即可。
CREATE TABLE empnull ASSELECT * FROM emp WHERE 1=2;但是以上的语法只是oracle数据库所支持的操作,其他的数据库语法上会有一些区别。
2.1.4、为表重命名(了解)在oracle数据库之中,所有的数据库实际上都是通过数据字典保存的,例如,在之前曾经使用过如下的一种查询:SELECT * FROM tab;以上就是一个数据字典,而在oracle之中,提供了三种类型的数据字典,最常用的是:dba、user_,所以下面查询一个user_tables数据字典:SELECT * FROM user_tables;也就是说oracle中的所有数据都是按照文件保存的,那么所有的内容都会在数据字典中注册,既然这样,所谓的修改表名称实际上对于oracle而言就相当于修改一条数据而已,而修改表名称的方法如下:RENAME 旧的表名称TO 新的表名称;范例:将member表更名为person表RENAME member TO person;但是这种操作由于是oracle数据库所独有的一种特性,所以了解即可,不用做深入的掌握。
2.1.5、截断表(了解)在之前曾经讲解过一个删除表数据的操作,使用的是DELETE操作,但是这种删除操作本身有一个特点,即:可以进行事务的回滚,也就是说删除之后并不会立刻释放数据的资源,如果现在希望彻底释放掉一张表所占用的全部资源(表空间、索引等等)就可以使用截断表的语法,此语法如下:TRUNCATE TABLE 表名称;范例:截断person表TRUNCATE TABLE person;但是这种语法本身只是oracle所有的,所以只做了解即可。
2.1.6、表的删除表的删除操作指的是数据库对象的删除,既然是删除则使用DROP语句,删除表的语法如下:DROP TABLE 表名称;范例:删除person表DROP TABLE person;2.1.7、oracle 10g的新特性闪回技术(理解)在oracle 10g之后,为了预防用户的误删除表操作,专门提供了回收站的功能,用户所删除的表默认情况下会在一个回收站中保存,而用户也可以通过回收站,进行表的恢复,所以此技术称为闪回(FLASHBACK);范例:查看回收站SHOW RECYCLEBIN;这个时候可以发现所有已经删除的表都在回收站之中保存,那么下面就可以使用如下的语法恢复表:FLASHBACK TABLE 表名称BEFORE DROP;范例:恢复myemp表FLASHBACK_TABLE person;当然,现在也可以直接删除掉回收站中的一些数据,语法如下:PURGE TABLE 表名称;范例:删除回收占中的person表PURGE TABEL person;范例:清空回收站PUEGE RECYCLEBIN;如果现在希望删除一张表,而又不希望其进入到回收站之中,则可以在删除的时候增加PURGEDROP TABLE myemp PURGE;这种技术是在oracle 10g之后才有的,而oracle 11g也是存在的。
问题:现在在回收站之中存在了一张tab表,而后又建立了一张tab表,那么如果从回收站中恢复的话,可以吗?无法恢复,但是一般人真不会出这样的问题。
2.1.8、修改表结构(了解)如果一张建立好的数据表,发现其初期的结果已经不满足于后期的使用要求,则可以进行表结构的修改操作,而表的修改操作实际上就是数据库对象的修改操作,使用ALTER指令完成,例如,现在有如下一张表:CREATE TABLE member(Mid NUMBER,name V ARCHAR2(50));现在希望可以向表中增加字段,所以此时可以采用如下语法完成:ALTER TABLE 表名称ADD(列名称数据类型[DEFAULT 默认值],列名称数据类型[DEFAULT 默认值],....);范例:为member表增加字段ALTER TABLE member ADD(age NUMBER(3),birthday DATE DEFAULT SYSDATE);如果增加的数据列没有默认值,则所有已有的数据的列的内容都是null,而如果增加的列指定了DEFAULT默认值的话,则所有已有的数据列都设置为默认值。
现在也可以修改已有的表结构,此时语法如下:ALTER TABLE 表名称ADD(列名称数据类型[DEFAULT 默认值],列名称数据类型[DEFAULT 默认值],....);范例:将name字段的默认值定义为无名氏ALTER TABLE member MODIFY(name V ARCHAR2(100) DEFAULT '无名氏');虽然在SQL语法之中以及oracle数据库之中,都给出了修改表结构的操作,但是这种操作能不用就不用,从大型数据库来讲,世界上性能最高的数据库是IBM DB2,但IBM DB2本身有一个平台的限制问题,所以如果说是跨平台的数据库则是oracle数据库的性能最高。
在IBM DB2数据库之中是不允许修改表结构的,即:表建立完成之后就不能再修改了,所以以后再开发之中也尽可能的不要去修改表结构。
额外补充:关于软件项目的开发基本流程1、获取需求:--->软件销售2、需求分析:--->根据客户方的提示,作出需求分析3、业务分析:--->数据库设计及借口设计;数据表设计4、编码实现:--->业务梳理5、软件测试:--->理论上应有专门的测试人员6、软件培训以及项目的维护;数据表的建立前提=软件的业务分析;2.1.9、思考题(面试题)现在要求建立一张nation表,表中有一个name字段,里面保存四条记录:中国,美国,巴西,荷兰,要求通过查询实现如下的操作效果:·中国美国·中国巴西·中国荷兰·美国巴西·美国中国·美国荷兰剩下的以此类推,现在要求建立新的表完成此查询的操作。
本题目的主要目的并不是在于查询的编写上,而是在于规范化数据库创建脚本的格式,以后只要碰到了类似的要求,首先必须要编写一个数据库创建脚本,这个脚本的要求如下:1、本文件的文件名后缀必须是“*.sql”;2、先删除相应的数据表;3、编写创建表的语句;4、增加测试数据;5、提交事务;--1、删除表DROP TABLE nation PURGE;--2、创建表CREATE TABLE nation(name V ARCHAR2(20));--3、测试数据INSERT INTO nation(name) V ALUES('中国');INSERT INTO nation(name) V ALUES('美国');INSERT INTO nation(name) V ALUES('巴西');INSERT INTO nation(name) V ALUES('荷兰');--4、事务提交COMMIT;本题型如果想要完成需要依靠笛卡尔积完成,属于表的自身关联SELECT ,FROM nation n1,nation n2WHERE <>;而且以后如果面试之中,出现了一些复杂的查询,建议把脚本写全了。