当前位置: 首页 > article >正文

PostGIS笔记:PostgreSQL中表、键和索引的基础操作

创建、查看与删除表

在数据库中创建一个表,使用如下代码:

create table streets (id serial not null primary key, name varchar(50));

这里的表名是streets,id是主键所以非空,采用serial数据类型,这个数据类型会自动编号填充上整数;另一个字段是name,类型为字符,长度50。如果要查看表的架构和表的内容,可以使用如下代码:

#查看架构
\d streets
#查看内容
SELECT * FROM streets;

删除表使用drop命令。

DROP TABLE 表名;

创建 键和索引

在创建一个shreets表后,我们还需要创建一个people表。people表包括ID、电话号码、家庭住址、姓名等字段,这个表中的家庭住址(street)依赖于streets表,因此在 创建people表时需要添加外键约束。

CREATE TABLE people (id serial not null primary key,
	name varchar(50),
	house_no int not null,
	street_id int references streets(id) not null,
	phone_no varchar null);

\d people查看表结构,可以看到存在外键约束。

如果是先创建了people表,那么可以通过alter table 方式添加外键约束。

ALTER TABLE people ADD CONSTRAINT people_streets_fk FOREIGN KEY (street_id) REFERENCES streets(id);

如果需要修改约束,可以使用先删除、后新建的方式进行。

ALTER TABLE 表名 DROP CONSTRAINT 约束名;

在上面的图中,可以看到已经存在一个主键btree索引,也可以在name属性新建索引。

CREATE INDEX people_name_idx ON  people(name);

http://www.kler.cn/a/523718.html

相关文章:

  • doris:异常数据处理
  • 【最后203篇系列】007 使用APS搭建本地定时任务
  • .NET MAUI 入门学习指南
  • 【面试】【前端】SSR与SPA的优缺点
  • 【Elasticsearch 】悬挂索引(Dangling Indices)
  • Spring事务和事务传播机制
  • 蛇年 | 巳巳如意,生生不息
  • 2025金蛇迎春,和数集团祝您新年快乐,蛇年大吉
  • 【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
  • Java中ExecutorService接口介绍、应用场景和示例代码
  • 如何运用python爬虫爬取百度贴吧的静态图片?
  • 懂球短视频微信小程序SpringBoot+论文源码调试讲解
  • 06-AD向导自动创建P封装(以STM32-LQFP48格式为例)
  • Linux 基础1
  • 【C++题解】1393. 与7无关的数?
  • centos7搭建flink1.18并以 standalone模式启动
  • 前端UI组件库的打包与发布
  • 网站服务器出现延迟的原因是什么?
  • 使用 lock4j-redis-template-spring-boot-starter 实现 Redis 分布式锁
  • EtherCAT主站IGH-- 54 -- IGH之控制电机旋转周期同步位置模式(CSP模式)
  • Java阶段四06
  • 【452. 用最少数量的箭引爆气球 中等】
  • 使用iis服务器模拟本地资源服务器unityaddressables热更新出错记录
  • C++11中array容器的常见用法
  • fpga系列 HDL:XILINX Vivado Vitis 高层次综合(HLS) 实现 EBAZ板LED控制(上)
  • Unity游戏(Assault空对地打击)开发(3) 摄像机跟随