postgresql命令,oracle常用命令大全
postgresql中怎么用psql命令
连接数据库,默认的用户和数据库是postgres
psql-U user-d dbname
切换数据库,相当于mysql的use dbname
\c dbname
列举数据库,相当于mysql的show databases
\l
列举表,相当于mysql的show tables
\dt
查看表结构,相当于desc tblname,show columns from tbname
\d tblname
\di查看索引
创建数据库:
create database [数据库名];
删除数据库:
drop database [数据库名];
*重命名一个表:
alter table [表名A] rename to [表名B];
*删除一个表:
drop table [表名];
*在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];
*删除表中的字段:
alter table [表名] drop column [字段名];
*重命名一个字段:
alter table [表名] rename column [字段名A] to [字段名B];
*给一个字段设置缺省值:
alter table [表名] alter column [字段名] set default [新的默认值];
*去除缺省值:
alter table [表名] alter column [字段名] drop default;
在表中*数据:
insert into表名([字段名m],[字段名n],……) values([列m的值],[列n的值],……);
修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];
删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];–删空整个表
创建表:
create table([字段名1] [类型1]<references关联表名(关联的字段名)>;,[字段名2] [类型2],……<,primary key(字段名m,字段名n,…)>;);
\copyright显示 PostgreSQL的使用和发行条款
\encoding [字元编码名称]
显示或设定用户端字元编码
\h [名称] SQL命令语法上的说明,用*显示全部命令
\prompt [文本]名称
提示用户设定内部变数
\password [USERNAME]
securely change the password for a user
\q退出 psql
可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:
pg_dump drupal>/opt/Postgresql/backup/1.bak
在postgresql中如何从数据库中检索出所有的表名
1、查看当前数据库中所有的模式。
2、如果想查看模式中所有的对象信息,可以通过\d模式名.*加上通配符的方式来进行查看。
3、在查看模式中的对象时一般使用的方式都是模式名.对象名的方式。
4、在postgresql中有一个类型于linux系统中$PATH的环境变量search_path,默认情况下它的值是当前数据库值和公共模式值。
5、如果想其它模式也添加在搜索路径中可通过如下命令来进行设置。
6、设置完成后如果我们再访问tec模式下的对象,就不需要再使用模式名.对象名的方式了,直接使用对象名即可进行*作。
postgresql如何执行sql文件
在pgAdmin的窗口中,直接打开SQL文件然后执行就可以了。
你所说的Oracle的执行方式,应该是在sql
plus命令窗口中执行sql文件。这个功能在PostgreSQL的命令窗口psql中也有此功能:开启psql命令窗口之后,执行命令:
\i sqlfile_path就可以执行指定的sql文件了,
其中sqlfile_path是要执行的sql文件,
如下图,
要注意的是:
在Windows系统中,路径中用的是斜杠,不是反斜杠。
shell怎么连接postgresql(shell怎么连接服务器)
bash脚本里有三种方式访问PostgreSQL数据库
但前提是要设置密码文件。当然对于有系统对应账户的数据库角色可以绕过密码登录环节,如
1
$sudo-upostgrespsql
或
1
2
$sudosu-postgres
$psql
但是对于没有系统账户对应的数据库角色,如要使用脚本登录则必须使用PostgreSQL密码文件
heredoc方式
heredoc是一种很常用的方式,在bash环境下还可以使用变量替换,用法示例
1
2
3
psql-U${role}-h${host}-dmydb
CREATESCHEMA${role};
EOF
也可以在循环语句中,向数据库批量*数据,类似
1
2
3
4
5
6
for…
do
psql-U${role}-h${host}-dmydb
INSERTINTO${table}VALUES(${value1},${value2},…);
EOF
done
但这种方式,每次*一条语句都重新登录一次数据库,效率肯定不咋地。
UPDATE(05/05/2014):既然可以使用变量替换,可以将所有*语句组合到一个变量中,然后就可以在一次登录中批量*数据了。
还可以用以下方式来获取查询结果
result=`psql-Urole-hlocalhost-dmydb
SELECT*FROMprocts;
EOF`
echo${result}
使用psql命令行选项-f执行sql脚本文件
1
psql-U${role}-h${host}-dmydb-f${scriptname}
使用psql命令行选项-c执行SQL语句或psql命令
psql的-c选项可以指定SQL语句或者psql命令,但二者不能混合,除非使用管道。如果命令参数中有多条SQL语句,则它们在一个事务里执行,除非使用BEGIN/COMMIT明确的指定事务。这与交互式使用psql终端不同,如果不明确指定事务,则每条SQL属于一个单独的事务并自动提交。只有最后一条SQL语句的结果被返回。
postgresql 数据库问题
1、使用CREATE DATABASE
该命令将创建一个数据库PostgreSQL的shell提示符,但你应该有适当的权限来创建数据库。默认情况下,创建新的数据库将通过克隆标准系统数据库template1。
语法:
CREATE DATABASE语句的基本语法如下:
CREATEDATABASEdbname;
其中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-#
本文链接:http://www.wmyx8.com/html/87964893.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。