Skip to content

基础语法

数据库管理操作

  • 连接到数据库,在命令行输入:psql -U postgres 后再输入密码

  • 创建数据库:create database mydb;

  • 修改数据库名称:alter database mydb to mydb1;

  • 删除数据库:drop database mydb;

  • 查看所有数据库:\l

  • 切换到指定数据库:\c mydb

  • 创建表:

    sql
    CREATE TABLE stu (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100),
        email VARCHAR(100),
        age INTEGER
    );
  • 修改字段名:alter table stu rename id to myid;stu表中字段id改为myid

  • 删除字段:alter table stu drop column name; 删除stu表中name的字段

  • 添加字段:alter table stu add column name varchar(20); 添加stu表中name的字段

  • 修改字段类型:alter table stu alter column name type varchar(40);

  • 删除表:drop table stu;

  • 查看当前数据库中的所有表:\d

  • 查看表结构:\d 表名

  • 插入数据:insert into stu(name) values('xiaoming');

  • 插入整条完整的数据:insert into stu values (1,'xiaogang','2022-10-10',NULL);

  • 指定字段插入数据:insert into stu (id,name) values('2','xiaohong');

  • SELECT批量插入

    • 将表数据插入到新表中:insert into test select * from stu; 把表stu的数据插入到test表中
    • 指定字段批量插入: insert into test (id,name) select id, name from stu;
  • 更新/修改数据:update stu set name='xiaohong' where id=1;

  • 删除数据:delete from stu where id=1;

  • 删除id在1到3之间的表数据:delete from stu where id between 1 and 3;

  • 清空数据表:delete from stu; 表还在,只是没有数据了

  • 查询表:查询所有字段:select * from stu;

  • 指定字段查询:select id, name from stu;

    • In关键字查询:查询id为1,3,5的成员:select id, name from stu where id in (1,3,5);

    • between and 关键字查询,范围之间:

      select id, name from stu where birthday between '2020-10-10' and '2024-10-10';

    • 模糊查询:查询所有姓张的用户:select id, name from test where name like '张%';


数据类型

  • 数值数据类型:常用int

  • 字符串数据类型:常用char(size, varchar(size)

  • 日期/时间数据类型:常用timestamp:日期和时间:2023-09-25 10:45:30

data:日期:2023-09-25

time:时间:10:45:30


相关函数

数值函数

函数描述
avg()返回某列的平均值
count()返回某列的行数
max()返回某列的最大值
min()返回某列的最小值
sum()返回某列的值之和

调用方式:select 函数(字段名)from 表名;

字符串函数

函数描述
length(s)计算字符串长度
concat(s1,s2)字符串合并

调用方式:select 函数(字段名)from 表名;

日期时间函数

函数描述
now()获取当前日期时间函数
current_date获取当前日期函数
current_ time获取当前时间函数
extract(type from d)获取日期指定值函数

函数部分具体可以参考Mysql笔记中的函数部分


PostgreSQL模式(Schema

使用Schema可以使多个用户使用一个数据库而不互相干扰,我们登陆默认是在public这个模式下,是数据库对象的一个集合

Schema模式的好处:

  • 允许多个用户使用一个数据库而不会干扰其它用户
  • 把数据库对象组织成逻辑组,让它们更便于管理
  • 第三方的应用可以放在不同的模式中,这样它们就不会和其它对象的名字冲突

表空间是实际的数据存储的地方,一个数据库schema可能存在于多个表空间,相似地,一个表空间也可以为多个schema服务。通过使用表空间,管理员可以控制磁盘的布局。表空间的最常用的作用是优化性能,例如,一个最常用的索引可以建立在非常快的硬盘上,而不太常用的表可以建立在便宜的硬盘上,比如用来存储用于进行归档文件的表

我们可以创建其他模式:create schema my123;

为所有模式创建一个表:create table test(id int, name varchar(20));

执行上述代码后,就多了一个模式my123,同时所有模式下都有表test

Released under the MIT License.