oracle/mysql 数据库面试 真题
### 数据库面试题知识点解析 #### 一、创建表与数据结构定义 1. **创建表**:在SQL中创建表的基本语法为`CREATE TABLE table_name (column_name data_type constraint, ...);`,其中`table_name`是所创建表的名字,`column_name`是列的名称,`data_type`是指定的列的数据类型,而`constraint`则是约束条件,比如主键、外键等。 - **主键**:`PRIMARY KEY`关键字用于定义表的主键,确保每一行数据的唯一性。 - **默认值**:通过`DEFAULT`关键字来设定某列的默认值,如`Age INT DEFAULT 0`,当插入新记录时如果没有指定Age,则Age自动赋值为0。 - **注释**:`COMMENT ON COLUMN`用于给列添加注释,例如`COMMENT ON COLUMN studentinfo.StudNum IS '学号';`。 2. **表结构**:从提供的内容中可以看到,`studentinfo`表和`classinfo`表的结构设计如下: - `studentinfo`表包含字段`StudNum`(学号)、`Name`(姓名)、`Age`(年龄)、`TEL`(电话)、`Address`(地址)以及`ClassNum`(班级编号)。 - `classinfo`表包含字段`ClassNum`(班级编号)、`ClassName`(班级名称)、`Assistant`(辅导员)以及`StudentNums`(学生数)。 #### 二、数据操作与导入 1. **删除表**:使用`DROP TABLE`语句可以删除表。例如:`DROP TABLE studentinfo;`用于删除名为`studentinfo`的表。 2. **数据导入**:将外部文件中的数据导入到数据库表中通常有多种方式,包括但不限于`LOAD DATA INFILE`命令、导出工具(如Oracle的`SQL*Loader`或MySQL的`LOAD DATA`)、或者使用应用程序接口进行批量插入等。例如,假设文件路径为`C:\path\Studentinfo.unl`,则可以使用以下SQL语句将数据导入到`studentinfo`表: ```sql LOAD DATA INFILE 'C:\\path\\Studentinfo.unl' INTO TABLE studentinfo FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'; ``` 同样地,对于`classinfo`表也可以使用类似的命令: ```sql LOAD DATA INFILE 'C:\\path\\Classinfo.unl' INTO TABLE classinfo FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'; ``` #### 三、数据查询与处理 1. **去重查询**:`SELECT DISTINCT column_name FROM table_name;`用于查询表中的不重复记录。例如,查询`studentinfo`表中所有不重复的班级编号: ```sql SELECT DISTINCT classnum FROM studentinfo; ``` 2. **联合查询**:通过`JOIN`或`INNER JOIN`等操作连接多个表,并通过`WHERE`子句筛选特定记录。例如,查询学号为2006010003的张三的电话号码、年龄、住址、班级名称及辅导员信息: ```sql SELECT s.tel "电话号码", s.age "年龄", s.address "住址", c.classname "班级名称", c.assistant "辅导员" FROM studentinfo s INNER JOIN classinfo c ON s.classnum = c.classnum WHERE s.studnum = '2006010003' AND s.name = '张三'; ``` 3. **数据更新**:使用`UPDATE`语句可以更新表中的数据。例如,将`studentinfo`表中`classnum`为2005030102的学生更改为2006030102: ```sql UPDATE studentinfo SET classnum = 2006030102 WHERE classnum = 2005030102; ``` #### 四、总结 以上内容涵盖了创建表、数据导入、基本查询与数据更新等数据库操作的基础知识点。这些操作不仅适用于Oracle数据库,也广泛应用于MySQL等其他关系型数据库管理系统中。掌握这些基础操作对于进行数据库管理和维护至关重要,同时也是数据库面试中常见的考察点之一。
- 粉丝: 12
- 资源: 29
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助