postgres命令
来源:互联网 发布:凯撒大帝3数据 编辑:程序博客网 时间:2024/06/04 18:21
1. mac postgres 安装
2. 命令
例子:
/Library/PostgreSQL/9.4/bin/psql -U postgres
/Library/PostgreSQL/9.4/bin/psql -U postgres -d testdb
登录/连接数据库\l 显示数据库\c dbname;
\d 显示表
\d 表 显示表字段
例子:
postgres=# \c testdb
You are now connected to database "testdb" as user "postgres".
testdb=# \d
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
testdb=# \d company;
Table "public.company"
Column | Type | Modifiers
---------+---------------+-----------
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)
连接数据库创建表:CREATE
TABLE
test(id
int
, text
VARCHAR
(50));
INSERT
INTO
test(id, text)
VALUES
(1,
'sdfsfsfsdfsdfdf'
);
SELECT
*
FROM
test
WHERE
id = 1;
UPDATE
test
SET
text =
'aaaaaaaaaaaaa'
WHERE
id = 1;
DELETE
FROM
test
WHERE
id = 1;
DROP
TABLE
test;
DROP
DATABASE
dbname;
简单例子select pg_size_pretty(pg_total_relation_size('company'));
指定表大小select pg_size_pretty(pg_database_size('testdb'));
指定数据库大小select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_database; 查看所有数据库大小3. 创建主键并设置自动递增的三种方法
--方法一
create table test_a
(
id serial,
name character varying(128),
constraint pk_test_a_id primary key( id)
);
NOTICE: CREATE TABLE will create implicit sequence "test_a_id_seq" for serial column "test_a.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_test_a_id" for table "test_a"
CREATE TABLE
--方法二
create table test_b
(
id serial PRIMARY KEY,
name character varying(128)
);
NOTICE: CREATE TABLE will create implicit sequence "test_b_id_seq" for serial column "test_b.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_b_pkey" for table "test_b"
CREATE TABLE
--方法三
create table test_c
(
id integer PRIMARY KEY,
name character varying(128)
);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_c_pkey" for table "test_c"
CREATE TABLE
CREATE SEQUENCE test_c_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
alter table test_c alter column id set default nextval('test_c_id_seq');
很明显从上面可以看出,方法一和方法二只是写法不同,实质上主键都通过使用 serial 类型来实现的,
使用serial类型,PG会自动创建一个序列给主键用,当插入表数据时如果不指定ID,则ID会默认使用序列的
NEXT值。
方法三是先创建一张表,再创建一个序列,然后将表主键ID的默认值设置成这个序列的NEXT值。这种写法
似乎更符合人们的思维习惯,也便于管理,如果系统遇到sequence 性能问题时,便于调整 sequence 属性;
--比较三个表的表结构
三个表表结构一模一样, 三种方法如果要寻找差别,可能仅有以下一点,当 drop 表时,方法一和方法二会自动地将序列也 drop 掉, 而方法三不会。
4. 常用数据类型
- postgres命令
- postgres 备份,恢复命令
- postgres基础命令
- postgres不错的命令
- postgres 常用查询命令
- postgres 查询命令详解
- linux 下 postgres 到命令
- postgres一些查询命令操作
- postgres 必须知道的命令
- postgres数据库常用操作命令
- raster导入postgres Windows命令
- postgres
- postgres
- postgres
- postgres
- Postgres
- Postgres基本命令及远程连接方案
- pg_dump命令及参数(postgres数据库)
- EX4.5
- [手机开发] python学习——基础(九)
- df
- 【iOS开发】transform属性的使用
- Silverlight在线:Silverlight在偶尔连接的环境中的应用
- postgres命令
- 守望者的逃离
- iOS界面跳转与返回代码实现(Objective-C)
- 蓝桥杯 历届试题 国王的烦恼
- java开发一个简单的网页爬虫训练正则表达式
- 前端web开发的MVC模式 - 从一个简单实例讲起
- NYOJ 366 D的小L(STL)
- 获取当前类的泛型对象
- 自定义view2/12----Paint常用方法(主要是ColorMatrix,Xfermode)