创建表

语法:如下

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数据库操作总结的更多相关文章

  1. PostgreSQL 数据库备份与恢复 pd_dump pg_restore

    备份 PG 数据库生成的文件可以有两种,一种是 SQL 文件,一种是二进制文件,二进制文件只能使用 pg_restore 进行恢复. PostgreSQL 数据库操作简要说明 PostgreSQL数据 ...

  2. postgresql数据库安装及简单操作

    自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...

  3. hibernate 操作 Postgresql 数据库报 operator does not exist: integer = character varying

    网上的说法如下: Java开发Postgresql 数据库兼容应用的问题,与Oracle有一些不同: Java类型映射数据库类型的不同,Oracle jdbc驱动程序处理Java String类型可正 ...

  4. C#/Python/MATLAB操作PostgreSQL数据库

    PostgreSQL数据库是一个功能非常强大的开源数据库,支持多种SQL特性,非常好用.此外由于结合PostGIS可以实现空间数据库功能,故非常适合GIS领域的使用.本文旨在介绍C#.Python.M ...

  5. Python 操作 PostgreSQL 数据库

    我使用的是 Python 3.7.0 PostgreSQL可以使用psycopg2模块与Python集成. sycopg2是用于Python编程语言的PostgreSQL数据库适配器. psycopg ...

  6. postgresql数据库学习-win平台下SQLshell基础操作及语法

    由于在学习https://www.bilibili.com/video/av24590479小马视频时, up主采用的linux虚拟机进行教学, 而本人采用window7进行操作,故在基础操作和语法上 ...

  7. 数据库操作之Spring JDBCTemplate(postgresql)

    本文总结了两种使用JDBCTemplate进行数据库CRUD操作的例子,我用的是pg,废话不说,直接开始吧. 先贴一张目录结果图吧: 上图中最主要的是配置文件和所需的各种jar包. 一.通过属性文件的 ...

  8. [转载]php连接postgreSQL数据库及其操作(php5,postgreSQL9)

    数据库连接:dbconn.php<?php$conn = pg_connect("host=localhost port=5432 dbname=myd user=postgres p ...

  9. 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作

    1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgre ...

随机推荐

  1. UCenter 通信失败 和 无法同步登陆的调试方法

    1. 看请求 2./uc_server/control/admin/app.php echo "\$url = $url <br />\n \$status = $status& ...

  2. 批量更改int类型的timestamp字段to datetime

    批量更改int类型的timestamp字段to datetime 1.创建datetime字段created_at 2.update 字段 UPDATE table set created_at = ...

  3. json一些特点

    1:mina框架中客户端信息到服务端信息的输出格式为json, 原因:json通过key-value对的集合,和xml相比,json数据的体积更加小,传输效率高,容易解析 缺点:可读性不高 2:

  4. MyEclipse安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)

    MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)  2014-04-28 21:09  MyEclipse  阿超  19171 views 众所周知M ...

  5. Bluetooth HCI介绍

    目录 1. HCI功能 2. HCI Packet 1. HCI Command 2. HCI Event 3. HCI Data 3. HCI传输层 HCI, 主机控制接口(Host Control ...

  6. ngrok的使用

    windows的ngrok配置: 步骤一:下载ngrok http://pan.baidu.com/s/1jH0s8o2 步骤二:如果你的国外网址没被墙就直接使用cmd命令行使用. 国内ngrok配置 ...

  7. Qt之窗体拖拽、自适应分辨率、自适应大小 good

    Qt之自定义界面(实现无边框.可移动) Qt之自定义界面(窗体缩放-跨平台终极版) Qt之自定义界面(窗体缩放) http://blog.csdn.net/liang19890820/article/ ...

  8. 简单CMakeLists.txt文件

    #CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(server) #添加包含目录 include_directories(./in ...

  9. EF6 CodeFirst 启用Migration,常用命令

    Enable-Migrations –EnableAutomaticMigrationsAdd-Migration [MigrationName] [-Force]Update-Database –T ...

  10. gridcontrol中使用右健菜单popupMenu1

    private void gridView1_ShowGridMenu(object sender, DevExpress.XtraGrid.Views.Grid.GridMenuEventArgs ...