几个PostgreSQL数据库操作总结
创建表
语法:如下
create table table_name (column_name column_type(parametes)options,…);
注意:
⑴ SQL语句对大小写不敏感
⑵ 通常忽略空白—应该使用空白使SQL命令具有更好的可读性。
⑶ 表名和字段不能和SQL的保留字相同
一下示例师范如何创建表cd_collection:
create table cd_collection
(
id int not null,
title varchar(50) not null,
artist varchar(50) not null,
year varchar(50) not null,
rating varchar(50) not null
);
向表中插入数据
语法:如下
按数据库表中列的顺序插入
insert into table_name values(‘value1’, ‘value2’, ‘value3’, …);
不按数据库表中列的顺序出入(特殊插入)
insert into table_name values(column1, column4) values (‘value1’, ‘value2’);
在一条insert语句中填入多行数据,使用如下语法
insert into table_name values(‘value1’, ‘value2’), (‘value3’, ‘value4’);
Notice: value1 and value2 inserted into first column, value3 and value4 inserted into second column.
insert into cd_collection values(9, ‘Nevermind’, ‘ ’Nirvana’, ‘1991’, ’ ’NULL);
如果处于中间位置的列为空,则需要在insert 语句中显式声明为NULL.
从数据库中检索数据
select column1, column2, column3 from table_name where search_criteria;
column1, column2, column3 表明需要返回的列的列名。
如果需要返回所有列,则可以使用通配符*来显示 匹配搜索条件的所有列。
select * from cd_collection;
select title from cd_collection;
select title, year from cd_collection;
select (title||” (“||year||”) ”) as titleyear from cd_collection;
select * from cd_collection where rating =5;
select * from cd_collection where rating =5 and year!=2003;
启动postmaster:
$postmaster –D /usr/local/pgsql/data &
在PostgreSQL中创建数据库
在shell提示符下发出如下命令:
#su – postgres
$createdb database #在不登陆和不使用psql的情况下创建数据库
#create database testdatabase; #在psql里创建数据库
$psql testdatabase; #启动psql程序并链接到testdatabase数据库
在命令行下切换数据库
$\c database_name
在postgres用户下创建允许访问数据库的用户或创建多个新的数据库用户
$createuser pgtest (with password)
y
y
用postgres用户在命令行创建数据库用户
psql testdatabase
create user pgtest(with password);
删除数据库用户
$dropuser pgtest
也可以使用psql登陆到数据库,然后使用drop user 命令
$psql testdatabase
testdatabase=# drop user pgtest;
testdatabase=#\q
在PostgreSQL中授予和撤销特权:GRANT 和 REVOKE语句实现
以下是GRANT语句的语法:
GRANT what_to_grant ON where_to_grant TO user_name;
下面的语句在数据库testdatabase上授予用户pgtest所有的特权
GRANT ALL ON testdatabase TO pgtest;
撤销特权
REVOKE ALL ON testdatabase FROM pgtest;
PostgreSQL命令行客户端
psql可以接受若干参数
-h hostname 链接远程主机hostname(如果数据库服务器不位于本地系统上)
-p n 指定n为客户端应当连接到的端口号。注意这里是小写的p
-U username 以用户username连接数据库
-W 在链接数据库后提示输入口令。
-? 显示帮助消息
几个PostgreSQL数据库操作总结的更多相关文章
- PostgreSQL 数据库备份与恢复 pd_dump pg_restore
备份 PG 数据库生成的文件可以有两种,一种是 SQL 文件,一种是二进制文件,二进制文件只能使用 pg_restore 进行恢复. PostgreSQL 数据库操作简要说明 PostgreSQL数据 ...
- postgresql数据库安装及简单操作
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...
- hibernate 操作 Postgresql 数据库报 operator does not exist: integer = character varying
网上的说法如下: Java开发Postgresql 数据库兼容应用的问题,与Oracle有一些不同: Java类型映射数据库类型的不同,Oracle jdbc驱动程序处理Java String类型可正 ...
- C#/Python/MATLAB操作PostgreSQL数据库
PostgreSQL数据库是一个功能非常强大的开源数据库,支持多种SQL特性,非常好用.此外由于结合PostGIS可以实现空间数据库功能,故非常适合GIS领域的使用.本文旨在介绍C#.Python.M ...
- Python 操作 PostgreSQL 数据库
我使用的是 Python 3.7.0 PostgreSQL可以使用psycopg2模块与Python集成. sycopg2是用于Python编程语言的PostgreSQL数据库适配器. psycopg ...
- postgresql数据库学习-win平台下SQLshell基础操作及语法
由于在学习https://www.bilibili.com/video/av24590479小马视频时, up主采用的linux虚拟机进行教学, 而本人采用window7进行操作,故在基础操作和语法上 ...
- 数据库操作之Spring JDBCTemplate(postgresql)
本文总结了两种使用JDBCTemplate进行数据库CRUD操作的例子,我用的是pg,废话不说,直接开始吧. 先贴一张目录结果图吧: 上图中最主要的是配置文件和所需的各种jar包. 一.通过属性文件的 ...
- [转载]php连接postgreSQL数据库及其操作(php5,postgreSQL9)
数据库连接:dbconn.php<?php$conn = pg_connect("host=localhost port=5432 dbname=myd user=postgres p ...
- 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作
1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgre ...
随机推荐
- Apache服务器安装配置
Apache服务器安装 1.Apache服务器安装 在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用y ...
- intervention/image intervention/imagecache
http://image.intervention.io/ 安装两个包 composer require intervention/image composer require interventio ...
- laravel ajax表格删除
view和jq @extends('layouts.main') @section('content') <h3>User List</h3> <p class=&quo ...
- P1003 铺地毯
水题 #include <bits/stdc++.h> using namespace std; const int maxn = 10005; int n; int x, y, i; s ...
- visual studio 2005 编fortran程序,运行后dos窗口显示问题
比如程序: program main implicit none write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" stop end 虽然可以看见DOS窗 ...
- nginx配置相关
一.autoindex on; 能解决无端端的403问题. 二.NGINX配置超时时间 1.啥时候用到 用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一 ...
- spring简单事务管理器
事务管理器 <!-- Transaction manager for a single JDBC DataSource --> <bean id="transaction ...
- 使用SVN提示“工作副本已经锁定”的解决办法
更新或者提交前执行一下clean up.如果在当前目录执行该命令后,仍然提示锁定,就到上一层目录再执行下...
- javaScript中的单引号与双引号
javaScript中的单引号与双引号没有什么区别.但因为xhtml规范要求所有xhtml属性要用双引号括起来.所以在javaScript中使用单引号. var html = '<h2 clas ...
- IIS Express启动命令
http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line C:\P ...