数据库语言(三):MySQL、PostgreSQL、JDBC

时间:2024-04-14 22:07:09

MySQL

MySQL资料很多,这里只给出一个在论坛博客中最常用的操作:分页

mysql> select pname from product limit 10,20;

limit的第一个参数是偏移(相当于记录的索引,从0开始计数),第二个参数是返回的记录的数目。第一个参数如果不写,默认为0。

PostgreSQL简介

我们可以通过一些图形界面的管理程序,例如pgadmin来管理postgresql数据库,通过可视化或者命令行的方式的创建新的对象,删除和编辑现有的对象(例如目录,模式,表等对象),再通过JDBC或者ODBC来访问它们。

界面操作:

要打开一个到服务的连接,在树中选择所需的服务,并双击它,或使用“工具”菜单上的连接即可。
在主窗口中,显示数据库的结构。您可以创建新的对象,删除和编辑现有的对象,如果你使用的是当前连接到数据库用户的权限,在主窗口的左侧显示所有服务器,以及它们所包含的对象树。
右上方显示,目前在树中选定的对象的详细信息。右下方包含一个SQL脚本。

1.文件菜单
在文件菜单中当点击服务器根节点下某个节点时可以更改连接密码。
点击选项(o)按钮中您可以调节些属性,例如:用户界面的语言,偏好,SQL语法高亮的颜色等。菜单中还可以对postgresql.conf, pg_hba.conf, pgpass.conf文件进行编辑。来优化postgresql的性能。添加所需的服务器,使用菜单中“添加服务器”。在新服务器登记的时候可以选择组。当按下“确定”按钮时,将出现新组并且服务器包含在其中。这个类似文件夹的功能可以将服务器按照类型或用途分组。
2.编辑菜单
点击编辑菜单可以对数据库和对象做相应的操作。(右键所选对象相当于编辑中所有相关功能)
3.插件
启动psql控制台并连接到在pgAdmin中所选的数据库。可以输入相应的命令。
4.视图
用来调节页面视图的显示。例如:打开与关闭SQL窗口。
5.工具
在主窗体左面的对象树中点击不同的节点 工具中菜单的高亮显示可做相应的操作。(所选对象右键操作可达到相同效果但工具中可以打开查询工具)。
6.帮助
可以查看帮助文档

执行sql:

从工具菜单或工具栏中打开sql查询,在SQL编辑器中输入相应的SQL语句,点绿色箭头可以执行该SQL语句,也可以选中部分执行。(执行SQL语句快捷键F5)。在下方输出窗口中可以查看相应的结果。点击菜单查询解释(快捷键Shift+F7)分析会出现相应的解释图类似于图形化查询。还可以保存数据。
图形化查询构造器允许用鼠标来构建查询:从导航器中拖动数据表和视图到图形面板中,在他们之间添加连接,点击检查框增加字段,追加条件以及设置结果顺序。

可以从桌面拖拽一个文件到查询文本框然后释放它,查询工具会自动打开这个文件。

操作各种对象:

数据库的创建。选中数据库=>右键=>新建数据库

系统默认模式为public可以建其他模式。只有相应的权限才能看见模式下的内容。

表的创建和修改。选中数据表=>右键=>新建数据库表(特别注意新建表时表名与字段名要小写,因为它会区分大小写。大写或者大小写混的会加上双引号)右键选中所要操作的表选择新建对象可以对表做相应的操作。例如:新增字段等。

备份与恢复。
右键选择要备份的数据库。用pgadmin可以把postgres备份成三种格式,compress,tar,plain。compress最小,是压缩过的,但是里面乱码。文件以.backup结尾tar比较大,上面有几行是乱码,下部分都是数据,格式看上去不太整齐。文件以.backup结尾。plain也很大,但不是乱码,里面的内容很整齐,分为两部分,上部分是相关的属性和数据表的信息。下部分全是数据。字段用一个Tab分隔。
然而恢复时只有compress和tar的文件能够恢复。也就是以.backup结尾的

sql语法

基本的数据库操作,就是使用一般的SQL语言。

# 创建新表

CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE);

# 插入数据

INSERT INTO usertbl(name, signupdate) VALUES('张三', '2013-12-22');

# 选择记录

SELECT * FROM user_tbl;

# 更新数据

UPDATE user_tbl set name = '李四' WHERE name = '张三';

# 删除记录

DELETE FROM user_tbl WHERE name = '李四' ;

# 添加栏位

ALTER TABLE user_tbl ADD email VARCHAR(40);

# 更新结构

ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL;

# 更名栏位

ALTER TABLE usertbl RENAME COLUMN signupdate TO signup;

# 删除栏位

ALTER TABLE user_tbl DROP COLUMN email;

# 表格更名

ALTER TABLE usertbl RENAME TO backuptbl;

# 删除表格

DROP TABLE IF EXISTS backup_tbl;

postgresql的JDBC

java中编写的代码是:

import java.sql.*;
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql:5432//localhost/harddisk"
//myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);

或者

String sql = "select * from test";  

// 连接字符串,格式: "jdbc:数据库驱动名称://数据库服务器ip/数据库名称"
String url = "jdbc:postgresql://localhost/soft";
String username = "scott";
String password = "tiger"; Class.forName(""org.postgresql.Driver").newInstance(); Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE
, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(sql); rs.close();
stmt.close();
conn.close();