新手入门
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
1. 安装
1. postgreSQL 服务器安装
sudo apt-get install postgresql
2. 图形界面安装
sudo apt-get install pgadmin4
// ubuntu 16.04 pgadmin3 不能用
2. postgreSQL 服务器安装后启动
1. 查看状态
sudo /etc/init.d/postgresql status
2. 启动
sudo /etc/init.d/postgresql start
3. 停止
sudo /etc/init.d/postgresql stop
4. 重启
sudo /etc/init.d/postgresql restart
3.添加新用户和新数据库
初次安装后, 默认创建一个 postgres 用户和 postgres 数据库, 同时还生成了一个名为postgres的Linux 系统用户。
3.1 使用PostgreSQL控制台创建
1. 切换到数据库自动创建的用户postgres
sudo su - postgres
2. 进入数据库
psql
3. 修改用户username 密码
\password username
4. 创建用户 xiaobai , 设置密码是 password111
CREATE USER xiaobai WITH PASSWORD 'password111'
5. 创建数据库exampledb,并指定所有者为dbuser
CREATE DATABASE exampledb OWNER dbuser;
6. 将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。]
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
7. 命令退出 postgre 控制台
\q
或者 ctrl + D
3.2 使用使用shell命令行创建
PostgreSQL提供了命令行程序createuser和createdb
4.创建数据库用户dbuser,并指定其为超级用户。
sudo -u postgres createuser --superuser dbuser
5. 创建数据库exampledb,并指定所有者为dbuser
sudo -u postgres createdb -O dbuser exampledb
4. 登录数据库
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
上面命令的参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。
5. 恢复外部数据
psql exampledb < exampledb.sql
6. psql 控制台命令
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
7. sql 语言数据库操作
SELECT * FROM information_schema.tables WHERE table_name='tab200' \d
# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录
SELECT * FROM user_tbl;
# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;