织梦个人网站企业培训的目的和意义
· PostgreSQL菜鸟教程_基础知识、基础命令整理(点击查看)
-
PostgreSQL 如何查找并删除重复数据
参考:https://blog.csdn.net/horses/article/details/128455173
-
查询字符串中模糊查询以字母开头的,取反 ~* 改为 !~*
postgres用LIKE或ILIKE关键字查询不是以给定字符集开头的字符串
SELECT id, license_number FROM db_lawyer_info WHERE license_number ~* '^[a-z]';
-
查看当前所在数据库:
select current_database()
-
进入数据库后的常用命令
连接数据库后面添加数据库名来选择数据库:
$ psql -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****
# su postgres #切换用户,执行后提示符会变为 '-bash-4.2$'
# psql -U postgres #登录数据库,执行后提示符变为 'postgres=#'
# ALTER USER postgres WITH PASSWORD 'newpassword' #设置postgres用户密码
\q #退出数据库\h : 查看SQL命令的解释,比如\h select。
\? : 查看psql命令列表。
\l : 列出所有数据库。用于查看已经存在的数据库。
\c [database_name] : 连接其他数据库。 使用 \c + 数据库名 来进入数据库。
\d : 列出当前数据库的所有表格。
\d [table_name] : 列出某一张表格的结构。
\du : 列出所有用户。
\e : 打开文本编辑器。
\conninfo : 列出当前数据库和连接的信息。
-
数据维护常用命令
/* PostgreSQL 获取所有序列的当前值 */
SELECT
schemaname AS SCHEMA,
sequencename AS SEQUENCE,
LAST_VALUE
FROM
pg_sequences
SELECT
schemaname AS SCHEMA,
sequencename AS SEQUENCE,
*
FROM
pg_sequences;
-- 查看序列
select * from t_class_id_seq
-- postgresql 设置序列的起始值
alter sequence t_class_id_seq restart with 9
-- 查找 Sequence 中的下一个值
SELECT nextval('t_class_id_seq');
-- 把序列号改成和当前最大主键一致
select setval('db_dictionary_id_seq', (select max(id) from db_dictionary));
select setval('db_zfcodelinkcase_id_seq', max(id)) from db_zfcodelinkcase;
-- 删除序列
drop sequence db_law_firm_id_seq;
-- 创建序列,且起始值为1
CREATE SEQUENCE db_role_id_seq START WITH 1;
-- 修改序列起始值
alter sequence db_reportcache_id_seq START WITH 1;
-- 修改序列数据类型
alter sequence db_user_id_seq setval(regclass, BIGINT);
-- 引用序列
ALTER TABLE db_roleuser ALTER COLUMN id SET DEFAULT nextval('db_roleuser_id_seq'::REGCLASS);
# 创建索引
CREATE INDEX casenumberyear ON doc_detail;
# 单列索引是一个只基于表的一个列上创建的索引
CREATE INDEX index_casenumberyear
ON doc_detail (casenumberyear);
# 组合索引是基于表的多列上创建的索引
CREATE INDEX index_name
ON table_name (column1_name, column2_name);
# 查指定表索引
select * from pg_indexes where tablename = 'db_question';
# 查所有索引
select
relna