SQL(一)表的创建、更新和删除

本文深入探讨了关系数据库中的关系模式与关系概念,详细解释了数据库的创建、删除、表的创建、更新、删除等关键操作。通过具体示例阐述了如何在实际应用中进行数据库管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一概述:

(1)关系模式与关系:

*在关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述。

*关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的;而关系是动态的、随时间不同变化的。

*每个基本表都属于某一个模式,一个模式包含多个基本表。

*定义模式实际上定义一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。

(2)定义:

*关系数据库支持三级模式结构,其模式、外模式和内模式的基本对象有:基本表、视图和索引。


二 数据库的创建和删除:

(1)创建数据库:

*最简单形式:create database name。

(2)删除数据库:drop database name。


三 表的创建:

(1)格式:

*create table<表名>

(<列名> <数据类型> [列级完整性约束条件],

<列名> <数据类型> [列级完整性约束条件],

...

[,<表级完整性约束条件>])

(2)数据类型:


四 表的更新(alter和update):

(1)更新表(alter):

*理性状态下,当表中存储数据以后,该表就不应该再被更新。

*可以使用alter table更改表结构。

*例如:

alter table lyr add salary int.//增加一列。

alter table lyr drop salary.//删除一列。

...

(2)数据修改(update):

*格式:

update <表名> 

set <列名>=<表达式> [,<列名>=<表达式>]...

[where <条件>]。

*功能:修改指定表中满足where子句条件的元组。如果省略where子句,则表示要修改表中的所有元组。


五 表的删除(drop、delete和truncate):

(1)drop:

*格式:drop table<表名> [restrict | cascade];

*restrict:缺省情况。该表的删除是有条件的,欲删除的基本表不能被其他表的约束所引用(如check、foreign key等约束),不能有视图、触发器、存储过程或函数等。

*cascade:表的删除没有限制条件。删除基本表的同时,相关的依赖对象例如视图都将被一起删除。(不同数据库实现不同)


(2)delete语句(删除表中的数据而不是表的定义):

*格式:

delete from <表名>

[where <条件>]

*功能:从指定表中删除满足where子句条件的所有元组。如果省略where子句,表示删除表中的全部元组;但表的定义仍在数据字典中。


(3)truncate(删除表中的数据,比delete速度快):

*格式:truncate table name.

*TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

*DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一个项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。
*使用的锁通常较少。当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页,而不是锁定各行。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值