从1.1.1节的介绍可以看到,在数据库管理系统出现之前,人们对数据的操作是直接针对数据文件编写应用程序实现的,这种模式会产生很多问题。对于1.1.1小节中列举的学生基本信息管理和学生选课管理两个子系统,如果使用数据库技术来管理,其实现方式如图1-4所示。保证数据的安全是通过数据库管理系统的安全控制机制实现的,保证数据的可靠是通过数据库管理系统的备份和恢复机制实现的。......
2025-09-30
SQL的数据插入语句有两种使用形式:一种是使用常量,一次插入一个元组;另一种是插入子查询的结果,一次插入多个元组。
1.使用常量插入单个元组
使用常量插入单个元组的ⅠNSERT语句的格式为:
ⅠNSERT
ⅠNTO<表名>[(<属性列1>[,<属性列2>……)]
VALUES(<常量1>[,<常量2>]……);
上述语句的功能是将新元组插入指定表中,新记录<属性列1>的值为<常量1>,<属性列2>的值为<常量2>,……。如果ⅠNTO子句中有属性列选项,则没有出现在子句中的属性将取空值,假如这些属性已定义为NOT NULL,它将会出错。如果ⅠNTO子句中没有指明任何列名,则新插入的记录必须在每个属性上均有值。
【例4-29】将一个新学生记录(学号:’98010’,姓名:’张三’,年龄:20,所在系:’计算机系’)插入学生表中。
ⅠNSERT
ⅠNTO学生
VALUES(’98010’,’张三’,20,’计算机系’);
解题说明:本题学生表后无属性列,VALUES子句的常量与学生表字段的逻辑顺序对应,该字段顺序为学号、姓名、年龄和所在系。
【例4-30】插入一条选课记录(学号:’98011’,课程号:’C10’,成绩不详)。
ⅠNSERT
ⅠNTO选课(学号,课程号)
VALUES(’98011’,’C10’);
解题说明:本例选课表后的学号和课程号两个属性与常量“98011”和“C10”对应,没有出现在选课表后的成绩属性,插入值为NULL。由于选课表后列出的属性与定义表时的顺序一致,该例还可以用下面的形式表达:
ⅠNSERT(https://www.chuimin.cn)
ⅠNTO选课
VALUES(’98011’,’C10’);
2.在表中插入子查询的结果集
如果插入的数据需要查询才能得到,就需要使用插入子查询结果集的ⅠNSERT语句。SQL允许将查询语句嵌到数据插入语句中,以便将查询得到的结果集作为批量数据输入表中。含有子查询的ⅠNSERT语句的格式为:
ⅠNSERT
ⅠNTO<表名>[(<属性列1>[,<属性列2>]……)
<子查询;
【例4-31】求各个系学生的平均年龄,并把结果存入数据库中。
CREATE TABLE系平均年龄(系名称CHAR(20),
平均年龄SMAⅠJJNT);
ⅠNSERT
ⅠNTO系平均年龄
SELECT所在系,AVG(ALL年龄)
FROM学生
GROUP BY所在系;
解题说明:本题首先用CREATE TABLE语句建立了系平均年龄基本表,后又使用ⅠNSERT语句将在学生表中查询得到的所在系及系平均年龄插入系平均年龄表中。
相关文章
从1.1.1节的介绍可以看到,在数据库管理系统出现之前,人们对数据的操作是直接针对数据文件编写应用程序实现的,这种模式会产生很多问题。对于1.1.1小节中列举的学生基本信息管理和学生选课管理两个子系统,如果使用数据库技术来管理,其实现方式如图1-4所示。保证数据的安全是通过数据库管理系统的安全控制机制实现的,保证数据的可靠是通过数据库管理系统的备份和恢复机制实现的。......
2025-09-30
Java程序可以通过JDBC向数据库发出命令,数据库管理系统获得命令后执行请求,并将执行的结果通过JDBC返回给Java程序。JDBC API是一套用Java语言编写的类库,在java.sql包中,编写与数据库相连的Java程序首先要将该包引入到程序中。使用oracle.jdbc.driver.OracleDriver驱动程序连接Oracle数据库是直连方式,效率高、速度快。它返回值的数据类型是Connection对象,Connection对象代表与数据库的连接。读取或修改数据库中的数据JDBC通过向数据库发送SQL语句完成对数据库的操作。......
2025-09-30
向表中插入数据通过INSERT命令来完成,该命令的语法格式如下:“insert …values”这种格式是目前最常用的,下面是对该格式中各属性的介绍。table_name:要插入数据的表名。ON DUPLICATE KEY UPDATE:当插入的记录会引发主键冲突或者违反唯一约束时,就会对发生冲突的列进行更新操作,使用该条件的前提是要插入的表存在主键或唯一索引。图4.18使用ON DUPLICATE KEY UPDATE条件的例子2.使用“insert…set”插入数据使用“insert…set”格式的语句可根据明确指定的值插入数据。......
2025-09-30
例如,一名学生可以用信息“”描述,这样的一行数据称为一条记录。单看这行数据我们很难知道其确切含义,但对其进行如下解释:张三是9912101班的男学生,1981年出生,计算机系应用软件专业,其内容就是有意义的。因此,数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。数据的静态特征包括数据的基本结构、数据间的联系以及对数据取值范围的约束。数据的动态特征是指对数据可以进行符合一定规则的操作。......
2025-09-30
为了弥补这些不足,出现了NoSQL数据库。相反,NoSQL数据库原本就不支持JOIN处理,各个数据库都是独立设计的,很容易把数据分散到多个服务器上。NoSQL数据库是为了“使大量数据的写入处理更加容易”而设计的。NoSQL数据库虽在处理大量数据方面很有优势,但实际上NoSQL数据库也有各种各样的特点,如果能够恰当地利用这些特点,就会非常有用。......
2025-09-30
关键字Modify File用以表示按后面的文件说明,在指定的数据库中修改相应数据库文件。下面的语句可在学籍管理数据库增加一个新数据库文件,同时要修改原数据库文件StuFile l的最大文件尺寸为2000 MB。Alter Database StuDataAdd FileModify File又如,如果要删除学籍管理数据库文件StuFile2,则可使用如下命令:Alter Database StuDataRemove File StuFile2......
2025-09-30
下面介绍的优化策略能提高查询的效率,但它们不一定是最优的策略,实际上“优化”一词并不是很确切,用“改进”或“改善”或许更恰当些。即使这样,使用预处理方法执行连接的时间一般仍大大减少。当查询视图时,定义视图的表达式就是公共子表达式的情况。......
2025-09-30
图5.6以网络为中心的计算驱动力量、增长领域与示例值得注意的是,美国国防部的Net-Centric的数据策略是从用户出发考虑的。根据DoD的描述:以网络为中心是指实现一个联网环境,包括基础设施、系统、过程和个人,使之能够按照完全不同的方式实施战斗和商务活动。以网络为中心的基础是GIG。以网络为中心,通过安全互联时间或地点独立的人和系统,充分支持军事态势知识的改进和更好地访问商务信息,大大缩短了决策周期。......
2025-09-30
相关推荐