热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLpostgresql

数据类型完整数据类型参考数值数据类型integer存储整数。使用这个类型可存储典型的整数4字节-2147483648至+2147483647double可变精度,不精确8字节15位
数据类型

完整数据类型参考

  • 数值数据类型
    • integer 存储整数。使用这个类型可存储典型的整数 4字节 -2147483648 至 +2147483647
    • double 可变精度,不精确 8字节 15位数字精度
    • serial 自动递增整数 4字节 1 至 2147483647
  • 字符串数据类型
    • character varying(size) 这里size是要存储的字符数。 可变长度字符串。
    • text 可变长度字符串。
  • 日期/时间数据类型
    • timestamp(6) without time zone
    • date 日期(没有时间) 4字节 4713 bc 5874897 ad 1微秒/14位数
  • 其他数据类型
    • boolean 它指定true或false的状态。 1字节
    • money 货币金额 8字节 -92233720368547758.08 至 +92233720368547758.07
创建表

CREATE TABLE eric_staff(
name character varying NOT NULL,
sex character varying,
birthy date,
CONSTRAINT eric_staff_pkey PRIMARY KEY (name)
)
WITH(
OIDS=FALSE
);
ALTER TABLE eric_staff OWNER TO postgres;
创建模式(架构)

CREATE SCHEMA
创建表

CREATE TABLE table_name()
删除表

DROP TABLE table_name
INSERT

INSERT INTO eric.eric_staff(name,sex,birthy)VALUES
('eric','man','2017-10-01'),
('jane','women','2017-10-03'),
('moon','women','2017-10-02');
SELECT

SELECT (name) FROM eric.eric_staff WHERE birthy = '2017-10-01';
UPDATE

UPDATE eric.eric_staff SET birthy = '1991.10.12' WHERE name = 'eric';
DELETE

DELETE FROM eric.eric_staff WHERE name = 'moon';
ORDER BY

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
ASC--结果按升序排列
DESC--结果按降序排列

SELECT * FROM eric.eric_staff ORDER BY birthy DESC;
GROUP BY

INSERT INTO eric.eric_staff(
name, sex, birthy, money)
VALUES ('eric', 'man', '2017-10-12', 12.3),
('jane', 'women', '2017-10-11', 13.2),
('frank', 'man', '2017-10-12', 5),
('eric', 'man', '2017-10-15', 23),
('eric', 'man', '2017-10-10', 13.3);

SELECT name, SUM(money)
FROM eric.eric_staff GROUP BY name;

《SQL postgresql》 微信截图_20171116213514.png

HAVING

SELECT name FROM eric.eric_staff GROUP BY name HAVING count(name)>1;
# 选出name字段出现一次以上的数据
WHERE

SELECT * FROM eric.eric_staff WHERE (NAME = 'eric' AND NAME = 'jane') OR MOnEY= '13.3';
# 筛选出名字为eric的数据

SELECT * FROM eric.eric_staff WHERE money NOT IN('13.0', '5.0');
# 选出数值不在数组范围内的数据

SELECT * FROM eric.eric_staff WHERE name LIKE '%e%';
# 选出name中含有e的数据

SELECT * FROM eric.eric_staff WHERE money BETWEEN '6' AND '14';
# 选出钱数在6到14范围之间的数据
连接

  • 内连接(简单连接)

# 选出两个表中name sex一样的数据
SELECT eric.eric_staff.name, eric.eric_staff.sex, eric.eric_other.name, eric.eric_other.sex
FROM eric.eric_other
INNER JOIN eric.eric_staff
ON eric.eric_staff.sex = eric.eric_other.sex AND eric.eric_staff.name = eric.eric_other.name;

  • 左连接

# 以FROM表为基础全部显示,另一张表只显示匹配项。
SELECT eric.eric_staff.name, eric.eric_staff.sex, eric.eric_other.name, eric.eric_other.sex
FROM eric.eric_other
LEFT OUTER JOIN eric.eric_staff
ON eric.eric_staff.name = eric.eric_other.name;

《SQL postgresql》 图片.png

  • 右连接

# 以另一张表为基础,FROM表只显示匹配项
SELECT eric.eric_staff.name, eric.eric_staff.sex, eric.eric_other.name, eric.eric_other.sex
FROM eric.eric_other
RIGHT OUTER JOIN eric.eric_staff
ON eric.eric_staff.name = eric.eric_other.name;

《SQL postgresql》 图片.png

  • 全外连接

# 左右表全显示,不匹配的留空。
SELECT eric.eric_staff.name, eric.eric_staff.sex, eric.eric_other.name, eric.eric_other.sex
FROM eric.eric_other
FULL OUTER JOIN eric.eric_staff
ON eric.eric_staff.name = eric.eric_other.name;

《SQL postgresql》 图片.png

创建视图
  • 其实就是将操作后的结果生成一张表,下面两条语句结果一样

CREATE OR REPLACE VIEW eric.view_table AS
SELECT eric_other.name,
eric_other.sex
FROM eric.eric_other;

SELECT eric_other.name,
eric_other.sex
FROM eric.eric_other;

  • 删除视图

DROP VIEW view_table;
python 连接postgresql数据库

import psycopg2
cOnn= psycopg2.connect(database="test_db", user="postgres", password="tuji2013", host="127.0.0.1", port="5432")
print ("Opened database successfully")

import psycopg2
cOnn= psycopg2.connect(database="test_db", user="postgres", password="tuji2013", host="127.0.0.1", port="5432")
cur = conn.cursor()
cur.execute("INSERT INTO eric.eric_staff (name, sex, birthy, money) VALUES ('test_python', 'man', '2017-11-19', '12')")
conn.commit()#提交事务
print('插入成功')

推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
author-avatar
mobiledu2502920897
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有