华中科技大学电子与信息工程系2020/1/171PostgreSQL华中科技大学电子与信息工程系2020/1/1721.PostgreSQL简介号称最先进的“OpenSourceDatabase“支持多操作系统平台Windows下支持NTFS文件系统华中科技大学电子与信息工程系2020/1/1732.安装华中科技大学电子与信息工程系2020/1/174华中科技大学电子与信息工程系2020/1/175华中科技大学电子与信息工程系2020/1/176华中科技大学电子与信息工程系2020/1/177如果选择PL/Java,事先必须安装Java运行环华中科技大学电子与信息工程系2020/1/178“Accountname”是用于运行PostgreSQL数据库服务器的Windows特殊用户。需要确认“Accountdomain”是否实际存在。华中科技大学电子与信息工程系2020/1/179华中科技大学电子与信息工程系2020/1/1710华中科技大学电子与信息工程系2020/1/1711选择附加模块华中科技大学电子与信息工程系2020/1/1712华中科技大学电子与信息工程系2020/1/1713华中科技大学电子与信息工程系2020/1/1714华中科技大学电子与信息工程系2020/1/17153.设置POSTGRESQL服务缺省,POSTGRESQL服务被设置为自动启动设置手动启动,打开控制面板-管理工具-服务华中科技大学电子与信息工程系2020/1/17164.执行POSTGRESQL命令控制台1)运行PostgreSQL命令台开始-程序-PostgreSQL8.x-CommandPrompt出现Windowscommandprompt窗口2)psql为PostgreSQL的命令行程序华中科技大学电子与信息工程系2020/1/17175.连接PostgreSQL服务器用缺省的postgres数据库超级用户登陆步骤:1.在命令行执行POSTGRESQL2.输入以下命令C:\ProgramFiles\PostgreSQL\8.1\binpsql–Upostgres–hlocalhost3.输入超级用户“postgres”的口令4.-Upostgres–为用户名,-hlocalhost–为本地服务器5.出现PostGRESQL命令行–意思是已经连接到名为“postgres”的缺省数据库。postgres=#华中科技大学电子与信息工程系2020/1/17186.设置数据库四步:1.创建数据库拥有者2.创建缺省表存储空间(有安全限制)3.创建数据库4.创建数据库实体对象华中科技大学电子与信息工程系2020/1/1719创建数据库拥有者创建角色:postgres=#CREATEROLEdb_ownerLOGINPASSWORD‘sample_pwd';检验所创建的拥有者:postgres=#\dudb_owner华中科技大学电子与信息工程系2020/1/1720创建缺省表空间使用c:\pgdata文件夹作为缺省表存储空间如果在多用户环境下运行POSTGRESQL服务器,则需要对C:\pgdata文件夹设置安全使用权限创建名为“sample_ts”的表空间:postgres=#CREATETABLESPACEsample_tsOWNERdb_ownerLOCATION'c:/pgdata/sampledb/system';检验创建的表空间postgres=#\db+sample_db华中科技大学电子与信息工程系2020/1/1721创建数据库创建“sample_db”数据库:postgres=#CREATEDATABASEsample_dbOWNERdb_ownerTEMPLATEtemplate0TABLESPACEsample_ts;列表查看所有已安装的数据库:postgres=#\l+华中科技大学电子与信息工程系2020/1/1722创建数据库实体对象1.连接数据库postgres=#\csample_db_name2.执行SQLDB剧本或执行create/update数据库实体对象操作指令3.列表浏览数据库实体对象:postgres=#\d+华中科技大学电子与信息工程系2020/1/17237.JDBC连接安装JDBC驱动测试驱动使用JDBC驱动简单例子华中科技大学电子与信息工程系2020/1/1724安装JDBC驱动确定可使用的JDBC版本下载JDBC驱动相关的.jar文件设置classpath添加环境变量JAVACLASSPATH,使其为.jar文件的完整路径到华中科技大学电子与信息工程系2020/1/1725设置CLASSPATH两种方法:如果只在当前命令行任务中设置CLASSPATH环境变量,则可输入:CMDSetCLASSPATH=C:\tmp/psql-driver.jar设置永久CLASSPATH变量打开控制面板-系统-添加新的环境变量CLASSPATH华中科技大学电子与信息工程系2020/1/1726测试驱动try{Class.forName(org.postgresql.Driver);}catch(ClassNotFoundExceptioncnfe){System.err.println(Couldn'tfinddriverclass:);cnfe.printStackTrace();}华中科技大学电子与信息工程系2020/1/17278.使用JDBC驱动1.引入JDBC2.装载驱动Class.forName(org.postgresql.Driver);3.连接数据库Connectiondb=DriverManager.getConnection(url,username,password);URL形如jdbc:[drivertype]:[database]4.关闭连接db.close()华中科技大学电子与信息工程系2020/1/1728简单JDBC连接实例importjava.sql.DriverManager;importjava.sql.Connection;importjava.sql.SQLException;publicclassExample1{publicstaticvoidmain(String[]argv){System.out.println(“检查注册驱动程序);try{Class.forName(org.postgresql.Driver);}catch(ClassNotFoundExceptioncnfe){System.out.println(“不能找到驱动程序!);System.out.println(“程序退出);cnfe.printStackTrace();System.exit(1);}华中科技大学电子与信息工程系2020/1/1729System.out.println(“成功注册驱动);Connectionc=null;try{c=DriverManager.getConnection(jdbc:postgresql://localhost/booktown,username,password);}catch(SQLExceptionse){System.out.println(“数据库连接失败!);se.printStackTrace();System.exit(1);}if(c!=null)System.out.println(“数据库连接成功!);elseSystem.out.println(“数据库连接失败);}}华中科技大学电子与信息工程系2020/1/1730简单查询Statements=null;try{s=c.createStatement();}catch(SQLExceptionse){System.out.println(“出错!);se.printStackTrace();System.exit(1);}ResultSetrs=null;try{rs=s.executeQuery(SELECT*FROMbooks);}catch(SQLExceptionse){System.out.println(“出错!);se.printStackTrace();System.exit(1);}华中科技大学电子与信息工程系2020/1/1731intindex=0;try{while(rs.next()){System.out.println(“记录行+index+++:);System.out.println(rs.getString(1));}}catch(SQLExceptionse){System.out.println(“出错!);se.printStackTrace();System.exit(1);}