问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

postgresql 创建数据库问题

发布网友 发布时间:2022-04-07 17:02

我来回答

3个回答

懂视网 时间:2022-04-07 21:23

table 表名 rename to 新表名

2.更改字段名

alter table 表名 rename 字段名 to 新字段名

3,更改字段类型

如:ID 字段 原类型为 character varying(50) 新类型为integer

其中,ID中原有数据为1,2,3等数字

用如下语句更改

alter table dbo.titemtype alter column id type integer using to_number(id,‘9‘ ) ;
  1. 增加字段

要增加一个字段,使用下面这样的命令:

ALTER TABLE products ADD COLUMN description text;

新增的字段对于表中已经存在的行而言最初将先填充所给出的缺省值(如果你没有声明 DEFAULT 子句,那么缺省是 NULL)。

你也可以同时在该字段上定义约束,使用通常的语法:

ALTER TABLE products ADD COLUMN description text CHECK (description <> ‘‘ ) ;

实际上,所有在 CREATE TABLE 里描述的可以应用于字段的选项都可以在这里使用。不过,我们要注意的是缺省值必须满足给出的约束,否则 ADD 将会失败。另外,你可以在正确填充了新字段的数值之后再增加约束(见下文)。

【提示】添加一个字段并填充缺省值将会导致更新表中的所有行(为了存储新字段的值),但如果没有指定缺省值,PostgreSQL 就可以避免物理更新。所以如果你将要在新字段中填充的值大多数都不等于缺省值,那么最好添加一个没有缺省值的字段,然后再使用 UPDATE 更新数据,最后使用下面的方法添加缺省值。

  1. 删除字段

要删除一个字段,使用下面这样的命令:

ALTER TABLE products DROP COLUMN description;

不管字段里有啥数据,都会消失,和这个字段相关的约束也会被删除。不过,如果这个字段被另一个表的外键所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用 CASCADE 指明删除任何依赖该字段的东西:

ALTER TABLE products DROP COLUMN description CASCADE;

参阅节5.11获取有关这些操作背后的机制的信息。

  1. 增加约束

要增加一个约束,必须使用表约束语法。比如:

ALTER TABLE products ADD CHECK (name <> ‘‘ ) ;ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no) ;ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;

要增加一个不能写成表约束的非空约束,使用下面的语法:

ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;

这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。

  1. 删除约束

要删除一个约束,你需要知道它的名字。如果你曾经给了它取了名字,那么事情就很简单。否则你就需要找出系统自动分配的名字。psql 的命令 d tablename可以这个帮忙;其它接口可能也提供了检查表的细节的方法。然后就是这条命令:

ALTER TABLE products DROP CONSTRAINT some_name;

如果你在处理一个生成的约束名,比如 $2 ,别忘了你需要给它添加双引号,让它成为一个有效的标识符。

和删除字段一样,如果你想删除被依赖的约束,你需要用 CASCADE 。一个例子是某个外键约束依赖被引用字段上的唯一约束或者主键约束。

除了非空约束外,所有约束类型都这么用。要删除非空约束,可以这样:

ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;

要记得非空约束没有名字。

  1. 改变字段的缺省值

要给一个字段设置缺省值,可以使用一个像下面这样的命令:

ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;

请注意这么做不会影响任何表中现有的数据行,它只是为将来的 INSERT 命令改变缺省值。

要删除缺省值,可以用

ALTER TABLE products ALTER COLUMN price DROP DEFAULT;

这样实际上相当于把缺省设置为空。结果是,如果我们删除一个还没有定义的缺省值不算错误,因为缺省隐含就是 NULL 。

  1. 修改字段的数据类型

把一个字段转换成另外一种数据类型,使用下面的命令:

ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2) ;

只有在字段里现有的每个项都可以隐含的转换城新类型时才可能成功。如果需要更复杂的转换,你可以增加一个 USING 子句,它声明如何从旧值里计算新值。

PostgreSQL 将试图把字段的缺省值(如果存在)转换成新的类型,还有涉及该字段的任何约束。但是这些转换可能失败,或者可能生成奇怪的结果。在修改某字段类型之前,你最好删除那些约束?,然后再把合适的约束添加上去。

  1. 重命名字段

重命名一个字段:

ALTER TABLE products RENAME COLUMN product_no TO product_number;
  1. 重命名表

重命名一个表:

ALTER TABLE products RENAME TO items;

PostgreSQL基本命令

标签:postgresql

热心网友 时间:2022-04-07 18:31

1、使用CREATE DATABASE

该命令将创建一个数据库PostgreSQL的shell提示符,但你应该有适当的权限来创建数据库。默认情况下,创建新的数据库将通过克隆标准系统数据库template1。

语法:

CREATE DATABASE语句的基本语法如下:

CREATE DATABASE dbname;

其中dbname是要创建的数据库的名称。

例子:

下面是一个简单的例子,这将创建testdb 在PostgreSQL模式: 

postgres=# CREATE DATABASE testdb;
postgres-#


2、使用createdb的命令

PostgreSQL命令行可执行createdb是是SQL命令CREATE DATABASE一个包装器。此命令和SQL命令CREATE DATABASE之间唯一的区别是,前者可以直接在命令行中运行,它允许的注释被添加到数据库中,全部在一个命令。

语法:

createdb语法如下所示:

createdb [option...] [dbname [description]]

参数

下表列出了参数及它们的描述。

参数名称            描述

dbname    The name of a database to create.    

description    Specifies a comment to be associated with the newly created database.    

options    command-line arguments which createdb accepts.    

选项

下表列出了命令行参数CREATEDB接收:

选项                            描述

-D tablespace         Specifies the default tablespace for the database.    

-e                     Echo the commands that createdb generates and sends to the server.    

-E encoding    Specifies the character encoding scheme to be used in this database.    

-l locale    Specifies the locale to be used in this database.    

-T template    Specifies the template database from which to build this database.    

--help    Show help about dropdb command line arguments, and exit.    

-h host    Specifies the host name of the machine on which the server is running.    

-p port    Specifies the TCP port or the local Unix domain socket file extension on which the server is listening for connections.    

-U username    User name to connect as.    

-w    Never issue a password prompt.    

-W    Force createdb to prompt for a password before connecting to a database.    

打开命令提示符,然后去是PostgreSQL安装所在的目录。进入到bin目录,执行下面的命令创建一个数据库。

createdb -h localhost -p 5432 -U postgress testdb
password ******

上面的命令会提示Postgres的默认的PostgreSQL管理用户的密码,以便提供密码和继续创建新的数据库。

一旦创建数据库时可以使用上述方法,可以检查它在列表中的数据库使用l即反斜线el命令如下:

postgres-# l
                            List of databases
  Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges  
-----------+----------+----------+---------+-------+-----------------------
postgres  | postgres | UTF8     | C       | C     |
template0 | postgres | UTF8     | C       | C     | =c/postgres          +
          |          |          |         |       | postgres=CTc/postgres
template1 | postgres | UTF8     | C       | C     | =c/postgres          +
          |          |          |         |       | postgres=CTc/postgres
testdb    | postgres | UTF8     | C       | C     |
(4 rows)

postgres-#

热心网友 时间:2022-04-07 19:49

这好像是一个BUG,在新版本中解决了。
你把多语句分开写
如,先运行
CREATE DATABASE demo
WITH OWNER = postgres
ENCODING = 'UTF8';
再运行
COMMENT ON DATABASE demo IS 'demo';
等其他语句试试看
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
前几天在楼下吃饭,店家推荐使用淘气购支付,听说可以用豆豆换东西。会... 绵阳淘气购科技有限公司怎么样? 四川省淘气购商贸有限公司怎么样? 盐酸洛美沙星分散片的作用 盐酸洛美沙星颗粒的剂量如何根据不同感染情况调整? 盐酸洛美沙星颗粒的化学名是什么? 盐酸洛美沙星胶囊功效 洛美沙星盐酸洛美沙星 洛美沙星的功效与作用 盐酸洛美沙星颗粒能治疗哪些类型的感染? 中国人寿子女教育保险b1999怎么算 OPPOA11x原本的玻璃膜可不可以撕掉,重新贴膜,还是直接贴上去,两张一起使用? Oppoa 8和a11x的屏幕尺寸一样A8可以用a11x的钢化膜? 微信小程序的数据如何清空?微信里面的小程序为什么删除了、在点开搜索那里还是在、根本就不能完全删除怎_百度问一问 战狼传奇的拼音怎么写 梦幻西游每月的什么时候有售卡积分抽奖,.在哪抽奖? Oppoa11膜跟什么通用 《战狼2》爆红后,李连杰警告吴京:从此夹着尾巴做人,发生了什么事情呢? 《战狼3》即将开拍,你最期待谁出演? 电影战狼(3)会怎么拍啊? 战狼3剧透(劲爆) 吴京《战狼3》和周星驰《功夫2》同一天上映?你优先选择看哪部? 安卓恢复手机删除的照片怎么恢复 战狼三传奇游戏怎么赚钱? 请问兴城海滨的涨潮退潮时间,谁能告诉我怎么看?最好能给我一个涨潮退潮的时间表。求钓鱼高手指点。 那好吧在电脑上怎么下载 网友质疑实力,吴京为何却始终霸气力挺,《战狼3》大反派到底是谁? 我想问问,兴城市,刘台子乡,龙泉寺海边何时涨潮落潮呢,7月15这天 怎么下载l024那好吧 谁有那好吧浏览器?安卓版。在线等。 开通固话为什么可以打任何电话,别人打进去打不通呢,都是在通话中? 江西职工医保怎么报销 座机打手机正在通话中,那边手机没有接电话。为什么会说正在通话中?打了三次全是正在通话中? 神农架必去5个景点 江西省职工医保报销比例 江西省职工医保封顶 家里那种座机电话如果正在通话中怎么看那个正在通话中对方的电话号码? 江西职工医保如何用 我家的固定电话打任何电话都老是正在通话中 不过还能接 这是怎么回事? 江西在外打工公司有职工医保,在老家要交医保吗 2022年江西退休职工医保每月打入钱减少了吗 奔驰b200倒车影像怎么不显示? 江门注册公司有那些好政策 刚买的二手车12款奔驰B200 2.0豪华 原车带导航和倒车影像。不知道怎么操作的倒车影像不显示了 小规模公司年报在家用电脑报么 奔驰b200为什么倒车时不提示,需要调什么吗? 江门企业所得税申报流程 有谁告诉我江门这边新开的小规模纳税人要分别交什么表到地税同国税? 公司原来是小规模纳税人想转变为一般纳税人以此达到核定征收,手续该怎么办 奔驰e260l车上倒车影像怎么突然没有了