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

PythonWeb Django PostgreSQL创建Web项目(二)

安装数据库PostgreSQL并创建数据库

我第一次尝试使用PostgreSQL数据库,why?我喜欢它提供的丰富的数据类型,例如货币类型、枚举类型、几何类型(点、直线、线段、矩形等等)、网络地址类型、文本搜索类型、XML类型JSON类型等等,非常丰富,当然也支持创建自定义的新的数据类型,所以何乐而不为尝试一下呢

1. 下载安装包

下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

选择对应的版本与操作系统位数

2. 安装

以windows为例,直接双击安装包,点击Next后,截图如下:
PostgreSQL安装选择安装目录
选择安装文件目录完成后,直接点击Next,

PostgreSQL安装选择插件功能
默认全选后,继续Next,

PostgreSQL安装选择数据存储位置
选择完成后继续Next,设置超级管理员密码
PostgreSQL安装设置超级管理员密码
设置完成后直接Next,来设置数据库访问端口
PostgreSQL安装设置数据库服务访问端口
PostgreSQL安装选择位置
PostgreSQL安装配置明细

PostgreSQL安装
PostgreSQL安装
完成后点击Next,继续下一步
PostgreSQL安装
点击Finish结束安装过程

3.访问PostgreSQL数据库

仍然以windows为例,找到开始菜单,搜索pgAdmin,点击打开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时完成数据库打开,可通过界面操作管理数据库

4.创建数据库以及简单的数据库表

windows系统嘛,创建数据库自然使用pgAdmin最方便,先创建一个简单的test004的数据库,创建一个简单的user表

1. 创建数据库test004

具体界面操作截图步骤如下:
PostgreSQL创建数据库
PostgreSQL创建数据库
对了,如果觉着英文不方便改中文呗,设置方法如下:
pgAdmin设置中文
pgAdmin设置中文
pgAdmin中文界面

2.创建表user

设想一个简单的user表,大致结构如下:

uid 表中id
username 用户名
nickname 用户昵称
password 登录密码
userrole 用户角色
phonenumber 用户手机号 现在注册个啥不得个手机号
remark 用户描述 说明说白了 冗余字段

首先找到在pgAdmin中执行代码的查询工具,截图如下:
pgAdmin查询工具

使用SQL语句创建表tuser(便于区分数据的user关键字),其中SQL语句中的DROP仅仅为了方便多次测试执行使用,初次执行时记得删除即可 否则会报错;具体代码如下:

DROP TABLE public."tuser"; --删除已经执行测试创建的表tuser
DROP extension "uuid-ossp"; --删除已加入的uuid-ossp插件
create extension "uuid-ossp"; --加入生成uuid的插件
select uuid_generate_v4(); --检查uuid生成函数是否已存在且可调用
DROP TYPE custom_roles; --删除已经创建的枚举类型
CREATE TYPE custom_roles AS ENUM ('user', 'admin', 'guest'); --创建自定义的枚举类型
CREATE TABLE public."tuser" --创建表
(uid uuid NOT NULL DEFAULT uuid_generate_v4(), --uuid类型32位,使用函数uuid_generate_v4()自动生成username character varying(64) NOT NULL DEFAULT 'defaultuser', --限制最大长度的可变长类型nickname character varying(64) DEFAULT '随便都行',--限制最大长度的可变长类型password character varying(64) NOT NULL,--限制最大长度的可变长类型phonenumber character varying(11) NOT NULL,--手机号11位userrole custom_roles DEFAULT 'user',--前面已经创建的枚举类型custom_roles remark text, --可变长度,不限制字符类型PRIMARY KEY (uid),   --表主键UNIQUE(username,phonenumber) --创建表字段的唯一性约束,不允许重复
);INSERT INTO public."tuser" (username,nickname,password,phonenumber,userrole)  --插入数据VALUES ('user001','user001','123456','19900000001','user');
SELECT * FROM public."tuser"; 

执行结果如下截图:

SQL语句执行结果

http://www.lryc.cn/news/9144.html

相关文章:

  • Python学习笔记:使用字符串
  • echarts饼图封装
  • Web3.0 教学基础一
  • body使用渐变色无效的原因之一:html没有设置高度
  • Python3 函数实例及演示
  • HTB打靶(Active Directory 101 Multimaster)
  • 漏洞预警|Apache Sling JCR Base 存在JNDI注入漏洞
  • 【学习笔记】DFA的构造
  • MyBatis 之二(增、删、改操作)
  • 28k入职腾讯测试岗那天,我哭了,这5个月付出的一切总算没有白费~
  • 【surfaceflinger源码分析】surfaceflinger进程的消息驱动模型
  • 「架构师」001计算机组成与体系结构
  • 既然有HTTP协议,为什么还要有RPC
  • 【新2023】华为OD机试 - 选座位(Python)
  • 数据分析与SAS学习笔记4
  • Xepor:一款针对逆向工程和安全分析的Web路由框架
  • Hadoop核心组成和生态系统简介
  • Flutter-Charts_painter大数据量绘制性能优化-数据收敛
  • 使用 GeForce Experience 更新 NVIDIA GPU 显卡驱动
  • Java泛型的<? super T>,<? extend T>的区别
  • 如何做出好看的Excel可视化图表?
  • 智能吸吹一体式方案设计特点
  • CSDN 编辑器 Marddown 语法备忘
  • 回归预测 | MATLAB实现NGO-BiLSTM北方苍鹰算法优化双向长短期记忆网络多输入单输出回归预测
  • Linux——操作系统安装
  • AFLNET lightftp项目报错解决方法
  • av 146 003
  • 干了1年“点点点”,自己辞职了,下一步是继续干测试还是转开发?
  • 国产技术迎来突破,14nm芯片横空出世,低代码也有好消息
  • 使用clickhouse-backup工具备份clickhouse数据库