清华滕永昌详解SQL语言与ORACLE实践

需积分: 4 1 下载量 83 浏览量 更新于2024-07-27 收藏 356KB DOC 举报
在清华大学滕永昌的SQL讲义中,他详细介绍了SQL语言的基础知识和其在Oracle环境中的应用。SQL全称为结构化查询语言,由IBM研究所开发,经过ANSI/ISO标准化,是关系数据库的核心交流工具,最新标准为SQL3或SQL99。SQL具有以下特点: 1. 非过程化:SQL专注于获取结果,而不过问执行过程,提供了强大的数据管理和操作能力。 2. 功能强大:支持数据查询(QL),如通过条件筛选获取数据;数据操纵(DML),如插入、更新和删除数据;数据定义(DDL),创建和管理数据库对象如表、索引和视图;以及数据控制(DCL),如事务管理和权限管理。 在SQL语句中,关键字如`ALTER`用于修改表结构,`AUDIT`和`NOAUDIT`用于记录数据库使用情况,`COMMIT`和`ROLLBACK`处理事务的提交和回滚。此外,`CREATE`用于创建数据库对象,`DROP`用于删除,`DELETE`仅删除数据不改变表结构,`GRANT`和`REVOKE`负责权限分配与撤销,`INSERT`用于添加新行,`LOCK`用于锁定表,`SELECT`执行查询,`VALIDATE`用于数据校验,`RENAME`更改表名,`UPDATE`用于修改已有数据。 在SQL*Plus中,用户可以利用`@`执行外部程序,`#`进行注释,`/`重复上一条命令,`ACCEPT`接收用户输入,`APPEND`在行尾追加内容,`BREAK`分组显示,`Btitle`和`Ttitle`分别用于添加表头和表尾。这些工具使得在Oracle环境中操作数据库更加灵活高效。 讲义中的内容涵盖了从基本语法到实际操作的方方面面,适合学习者系统地理解和掌握SQL语言,并将其应用于实际项目中。结合滕永昌提供的实例,读者可以更好地理解如何在Oracle的scott用户环境中运用SQL语句进行数据管理。

// Java Web应用开发技术教程 // 张庆华 // 清华大学出版社 // 2022年3月第一版 // ver 1.0 // 4.3.3 JDBC访问数据库的基本步骤 // 程序 4-1:JDBC连接数据库基本步骤 package chap4samp; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Chap4JDBC { public void testJDBC() { Connection dbConn = null; Statement stmt = null; ResultSet rs = null; try { // 1加载驱动程序 String DBDRIVER = "com.mysql.cj.jdbc.Driver";// MySQL Class.forName(DBDRIVER); // 2建立连接 String url = "jdbc:mySql://localhost:3306/javawebdb?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false";// 此条语句在一行,无空格。 String userName = "root"; String password = "123456"; dbConn = DriverManager.getConnection(url, userName, password); // 3创建SQL数据库操作对象 stmt = dbConn.createStatement(); // 4生成SQL语句,在本例中,为了展示JDBC数据库连接和操作,需要用到创建数据表、添加记录、查询记录等几条SQL语句 String createtablesql = "create table studentinfo(stdNo varchar(10) not null,stdName varchar(20),stdAge int(11),stdMajor varchar(255), stdHometown varchar(255),PRIMARY KEY(stdNo))";// 创建表SQL语句 String insertsql = "insert into studentinfo values('2017001','张琴',18,'物流工程','襄阳')";// 添加记录SQL语句 String querysql = "select * from studentinfo";// 查询记录SQL语句 // String deletetablesql="DROP TABLE studentinfo";//删除表SQL语句 // 5执行SQL语句 stmt.executeQuery(createtablesql);// 创建表 stmt.executeQuery(insertsql);// 添加记录,多次运行会提示记录已存在 rs = stmt.executeQuery(querysql);// 查询记录 // 6处理结果集 while (rs.next()) { String stdNo = rs.getString("stdNo"); String stdName = rs.getString("stdName"); int stdAge = rs.getInt("stdAge"); String stdHometown = rs.getString("stdHometown"); System.out.println("学号:" + stdNo + ", 姓名:" + stdName + ", 年龄:" + stdAge + ", 生源地:" + stdHometown); } // stmt.executeUpdate(deletetablesql);//删除表 } catch (Exception e) { e.printStackTrace(); } finally { // 7关闭所有数据库资源 if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (dbConn != null) { try { dbConn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } public static void main(String[] args) { Chap4JDBC mytest = new Chap4JDBC(); mytest.testJDBC(); } }仍然有错,该怎么修改

2023-06-02 上传