1、第4章sqlplus使用示例第2章 SQL*Plus使用 【实验目标】 完成本章的内容以后,您将达到: 用desc查看表结构 掌握常用SQL*Plus的缓冲区编辑命令 用column显示列的宽度 用“set lin n”命令设置行的宽度本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。第一阶段指导学习(20分钟)1. 用“desc”命令查看表结构以下步骤说明如何在SQL*Plus中用“desc”命令查看表结构。1) 通过开始菜单,运行SQL*Plus;图2.1 开始菜单中的“SQL*Plus”菜单项图2.2 “SQL*Plus”登录界面2) 用户名、口令均输
2、入hr,主机字符串输入imti:图2.3 “SQL*Plus”登录时的信息输入界面3) 单击“确定”按钮,登录hr用户;图2.3 图2.4 “SQL*Plus”用户登录后的界面4) 在“SQL”提示符下,输入“desc employees”命令,SQL*Plus即会将表“employees”的结构显示出来,如下图所示:图2.4 显示employees表结构2. 查看SQL*Plus缓冲区的SQL语句在“SQL”提示符下,输入“l”(或“list”)命令即可查看缓冲区的SQL语句,如下图所示:图2.5 list命令显示结果3. 设置缓冲区的当前行在“SQL”提示符下,输入“l n(n为行号)”命
3、令即可将缓冲区的某一行设置成当前行,如下图所示:图2.6 list命令设置当前行4. 替换缓冲区当前行的某一文本1) 在SQL*Plus提示符下输入下面语句:select employee_id, first_namefrom employeeswhere employees_id”后输入“c/employees_id/employee_id”,如下图所示:图2.9 修改缓冲区中错误文本3) 回车,会显示修改后的当前行。图2.10 错误文本修改后的显示图4) 也可用“l”命令列出缓冲区完整语句,如下图所示:图2.11 列出修改后的缓冲区语句5) 输入“/”命令执行缓冲区中修正后的正确语句,如下
4、图所示:图2.12 运行修正后的语句结果5. 往缓冲区当前行末尾添加文本1) 列出当前缓冲区语句图2.13 列出当前缓冲区语句2) 将第一行设为当前行:图2.14 设置缓冲区第1行为当前行3) 输入“a , salary”文本,并回车,即可完成当前行末文本的添加,如下图所示:图2.15 当前行末文本的添加6. 往缓冲区当前行后换行添加文本1) 输入下面语句:select employee_id, first_namefrom employeeswhere employee_id=103;如下图所示:图2.16 select查询语句2) 设置第2行为当前行:图2.17 设置第2行为当前行3) 输
5、入“i , salary”,并回车:图2.18 往当前行换行新增文本4) 可用“l”命令列出完整语句查看,并用“/”命令执行以校验语句是否有误:图2.19 运行缓冲区语句7. 设置SQL*Plus行的宽度为2001) 输入下面语句select * from locations;如下图所示(记录的可读性不好):图2.20 查询locations表信息2) 查看当前行的设置宽度:图2.21 显示屏幕行宽3) 设置行的宽度为200,并执行缓冲区语句:图2.22 设置屏幕行宽为2008. 列显示格式设置1) 输入下面语句,查看当前“first_name”字段的宽度效果:select * from em
6、ployeeswhere employee_id=103;图2.23 select语句显示界面2) 将“first_name”字段的宽度限制为12,然后执行并看其效果:图2.24 将“first_name”字段的宽度限制为12后的显示效果第二阶段练习(30分钟)习题一登录hr用户,查看表“DEPARTMENTS”的结构。习题二不重新输入SQL语句的情况下,用SQL*Plus命令将下面where子句中的“departments_id”改为“department_id”,并运行SQL语句,观察语句是否正确。select department_id, department_namefrom depa
7、rtmentswhere departments_id = 80;习题三假设缓冲区中存在下面语句:select department_id, department_namefrom departmentswhere departments_id = 80;要在第一行后面增加“, manager_id”,应如何实现。习题四假设缓冲区中存在下面语句:select department_idfrom departmentswhere departments_id = 80;要在第1行后面换行增加“, department_name”,应如何实现。习题五假设缓冲区中存在下面语句:select depa
8、rtment_id, department_namefrom departmentswhere departments_id = 80;要将“department_name”自动的显示宽度设为40,应如何设置?习题六如何将SQL*Plus的行宽度设为200?第三阶段作业作业一假设缓冲区中存在下面表名错误(正确表名为employees)的语句:select employee_id, first_name, last_namefrom employeesa;不重输SQL的情况下,如何更改上述语句,及增加“where employee_id=103”语句。作业二在SQL*Plus下,如何设置才能将“first_name”字段名替换成“姓名”显示:图2.25 字段别名设置后的select语句显示界面