Guassdb(高斯数据库)使用教程

gsql命令

gsql连接数据库

  • gsql -h master01 -p 15400 -d postgres -U yangyi -W @HuangLve2004 -r
  • 常用参数说明
参数说明
-h指定数据库所在的IP或者主机名
-pguassdb运行的端口
-d指定访问数据库的名称
-U指定登陆数据库的用户名
-w用户的登陆密码
-r开启在客户端命令行中的编辑模式
-c声明gsql要执行一条字符串命令然后退出,不进入guassdb的命令行
-f使用指定文件作为命令源,而不是交互的命令
-l列出所有数据库,然后退出
-A切换为非对称输出模式
-t只打印行
-F设置域分割符,默认是"|"
-E回显其他命令的实际底层命令
-1当gsql使用-f选项执行脚本时,加上该参数会将执行的脚本当作一个事务执行,发生错误时会回滚
-q安静模式,执行时不会打印额外信息
-o将gsql的输出重定向输出到指定的文件中
  • 案例
gsql -h master01 -p 15400 -d postgres -c “select * from t1”

gsql -h master01 -p 15400 -d postgres -f /home/test.sql

gsql -h master01 -p 15400 -d postgres -l

gsql元命令

元命令声明
\h显示帮组信息
\i file从文件file中读取内容,并将其当作输入命令
\l[+]列出服务器上所有数据库的详细信息,"+"字符是可选项
\db[+]列出所有可用的数据库表信息
\c连接到另一个新的数据库
?帮助信息
\d列出当前模式下所有的表、视图和序列
\dE列出外部表
\di列出索引
\ds列出序列
\du列出所有数据库角色
\q退出

guassdb远程连接

  • 修改配置文件install/data/dn/pg_hba.conf,允许远程登陆
  • 修改配置文件``,修改密码加密的方式

数据类型资料

guassdb的使用

  • 创建用户,create user yangyi identity 'open@123'
  • 修改用户密码,alter user yangyi ident 'MIMA2004@yangyi'
  • 权限管理
//赋予所有表的所有权限给xiaoming
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO xiaoming; 
//单独 赋予tuser表的所有权限给wechart用户
GRANT ALL PRIVILEGES ON tuser TO wechart; 
  • 创建序列,实现id的自增长
# 使用序列数据类型
create table test2(
id serial primary key,
name char(10) not null,
age int(3) not null);

使用JDBC操作GuassDB

  • 引入依赖
  <dependency>
            <groupId>org.opengauss</groupId>
            <artifactId>opengauss-jdbc</artifactId>
            <version>5.0.0</version>
        </dependency>
  • jdbc配置
driver=org.postgresql.Driver
url=jdbc:postgresql://192.168.79.140:15400/jdbc
username=yangyi
password=MIMA2004@yangyi
  • 使用案例
public class JDBCApplication {

    private Properties properties = new Properties();

    private Connection connection;

    public JDBCApplication() throws Exception {
        InputStream resourceAsStream = JDBCApplication.class.getClassLoader().getResourceAsStream("jdbc.properties");
        //FileInputStream fileInputStream = new FileInputStream("jdbc.properties");
        properties.load(resourceAsStream);
        //驱动
        String driver = properties.getProperty("driver");
        //用户名
        String username = properties.getProperty("username");
        //密码
        String password  = properties.getProperty("password");
        //url
        String url = properties.getProperty("url");

        //注册驱动
        Class.forName(driver);

        //获取连接
        connection = DriverManager.getConnection(url,username,password);
    }

    public void testJDBC() throws Exception {


        //插入数据
        String sql = "insert into test1 (id,name) values (?,?)";

        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        preparedStatement.setInt(1,3);
        preparedStatement.setString(2,"杨逸");

        int update = preparedStatement.executeUpdate();
        System.out.println("update = " + update);
        //查询数据
        sql = "select * from test1";
        preparedStatement = connection.prepareStatement(sql);

        ResultSet resultSet = preparedStatement.executeQuery();
        while (resultSet.next()) {
            int id = resultSet.getInt(1);
            System.out.println("id = " + id);
            String name = resultSet.getString(2);
            System.out.println("name = " + name);
        }
    }
}