数据库语言实践:INDEX, INSERT与SELECT操作详解

0 下载量 90 浏览量 更新于2024-09-04 收藏 129KB PDF 举报
本篇文档主要介绍了数据库语言中的三个关键操作:INDEX、INSERT和SELECT,以及它们在实际应用中的例子。首先,我们来探讨INSERT语句,这是用来向数据库表中添加新数据的关键操作。例如,例3.69演示了如何插入一个新学生记录,包括学号、姓名、性别、所在系和年龄,强调了字段顺序的一致性,尤其是当存在唯一约束(如学号)时,需要确保每个值都是唯一的。在某些情况下,如例3.70,可以省略属性名直接提供值,但数据必须按照表结构的顺序。 接下来,是INDEX的概念。INDEX是数据库管理系统中用于加速查询性能的一种结构,通过创建索引来优化数据访问。创建索引的命令格式为CREATE INDEX,可以选择为一列或多列创建索引,列名之间用逗号分隔,并可以指定索引的排序方式(升序或降序)。如果希望索引的值是唯一的,可以使用UNIQUE关键字。CLUSTERED INDEX和NONCLUSTERED INDEX是两种不同类型的索引,前者会重新组织表数据以匹配索引,而后者则是在表数据旁独立存储索引值。 例3.71展示了如何通过INSERT语句插入一条选课记录,同时提及了外键的概念。在这个场景中,Sno和Cno是SC表的外键,它们引用了Student和Course表中的主键,遵循了参照完整性的规则,即外键的值必须存在于被引用的表中,如果有NULL值,通常意味着关联记录尚未存在。 最后,虽然文档没有直接给出创建索引的示例,但提到了索引对查询效率的影响,特别是对于大型数据集,良好的索引设计能够显著提高数据检索速度。理解并合理使用这些基本操作,对于数据库管理和维护至关重要,是学习数据库系统设计和管理的基础内容。

解释一下这段代码:<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD com.example.Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <resultMap id="result" type="com.example.demo.entity.User"> <result property="userId" column="userId" /> <result property="userDate" column="userDate" /> <result property="userName" column="userName" /> <result property="userAddress" column="userAddress"/> </resultMap> <select id="ListUser" resultMap="result"> SELECT * FROM user </select> <select id="findUserByName" resultMap="result" parameterType="String"> SELECT * FROM user where userName like concat(concat('%',#{userName}),'%') order by userId desc </select> <select id="queryPage" resultMap="result" parameterType="Integer"> select * from user order by userId desc limit #{startRows},5 </select> <select id="getRowCount" resultType="Integer"> select count(*) from user </select> <insert id="insertUser" parameterType="com.example.demo.entity.User"> INSERT INTO user ( userId,userDate,userName,userAddress ) VALUES ( #{userId}, #{userDate, jdbcType=VARCHAR}, #{userName, jdbcType=VARCHAR}, #{userAddress, jdbcType=VARCHAR} ) </insert> <delete id="delete" parameterType="int"> delete from user where userId=#{userId} </delete> <update id="Update" parameterType="com.example.demo.entity.User"> update user set user.userDate=#{userDate},user.userName=#{userName},user.userAddress=# {userAddress} where user.userId=#{userId} </update> </mapper>

2023-07-22 上传