psql-02基本语法
客户端
数据库:
- 创建:
createdb mydb; - 删除:
dropdb mydb;
连接:
- 连接:
psql mydb; - 断开连接:
\q - 查看当前版本:
select version(); - 直接查看当前数据库情况:
psql -l; - 在当前客户端下:
- 跳转链接到其他数据库:
\c mydb; - 创建新数据库:
create database mydb;
- 跳转链接到其他数据库:
表:
- 所有表:
\d; - 具体表:
\d mytable//注意没有分号 - 创建表:
create table mytable (
col_name1 data_type1 [primary key], //指定主键
col_name2 data_type2
);
- 删除表:
drop table mytable; - 创建删除前加存在判断: 例子
创建数据
- 插入数据:
insert into mytable (col1, col2, ..) values (val1, val1, ...);//不指定字段的话,添加值按默认字段顺序储存; - 插入多条数据:
insert into mytable values (....), (....); - 插入数据并返回结果:
inser into mytable values(...) retruning col1,col2....|* ; - 更新:
update mytable set col1 = val1, col2 = val2 where col3 = val3;//注意where衔接的不是逗号是and/or;
删除数据
delete from mytable where col1 = val1, col2 = val2;- 删除全部表数据
delete from mytable; //相当于一条一条删除;
truncate table mytable; //相当于一次性删除,比较快;
查找:
- 查找所有:
select */col1,col2.. from mytable where col1 = val1; - 查找排序显示:
select * from mytable order by col1,col2..//注意order by要放在where后面;order by默认是ASC从小到大; 使用order by col1 DESC进行倒序排列;
- 查找计算值:
select max|min|sum|avg(attr) from users;
分组查询
- 使用聚合函数
(count/sum..),group by,按某个字段查找
select age, count(*) from student group by age;
多表关联查询
create table class(no int primaty key, class_name varchar(40) );
create table student(no int primary key, student_name varchar(40), age int, class_no int) );
//关联查询/表join
select student_name, class_name from student, class where student.class_no = class.no;
//简化
select student_name, class_name from student a, class b where a.class_no = b.no and a.age > 14;
拷贝数据
- 使用
insert into ... select:insert into tab1 select * from tab2//注意tab2中要拷贝的字段tab1中都必须要有;
查询数据合并显示
select * from tab1 where col1 = val1 union select * from tab2 where col1 = val2; //两个表必须要有相同的字段
union默认会把过滤相同的查询结果;不过滤显示使用union all;
psql-02基本语法的更多相关文章
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Clojure学习02:语法
相比我们传统的 c ,java ,python ,javascript等,Clojure的语法比较特别,初一看,还可能会有些不适应. 本文来介绍下Clojure的语法特点. 一.表达式 所有的Cloj ...
- Webpack + React 开发 02 JSX 语法
HTML 语言直接写在 JavaScript 语言之中,不加任何引号,这就是 JSX 的语法,它允许 HTML 与 JavaScript 的混写: render(<h1>Hello Wor ...
- Python入门 —— 02基础语法
基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 ( ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...
- Java单体应用 - Markdown - 02.基础语法
原文地址:http://www.work100.net/training/monolithic-markdown-basic.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 ...
- Go的100天之旅-02基本语法
基本语法 Go关键字 下面是Go的25个关键字: break default func interface select case defer go map struct chan else goto ...
- JavaScript笔记02——基本语法(包括函数、对象、数组等)
Doing Math & Logic Conditional & Looping Functions Objects Arrays Doing Math & Logic 1.J ...
- psql命令行快速参考
psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psq ...
- 黑马eesy_15 Vue:常用语法
自学Java后端开发,发现14 微服务电商[乐优商城]实战项目,在介绍完SpringCloud后就要肝前端的基础知识ES6语法和Vue.js 所以本篇博客作为入门Vue练习记录的过程,目的是供自学后端 ...
- pspo
一.项目计划总结: 周活动总结表 姓名: 日期:3.12.2015 日期 任务 听课 编写程序 阅读课本 准备考试 日总计 周日 周一 周二 周三 10:00- ...
随机推荐
- 【linux】学习2
鸟哥那本书的第6章 文件权限: ^ ^ ^ ^ ^ ^ ^ 1 ...
- 中等难度SQL语句(存储过程,分页,拼接字段、游标,日期类型转换,动态行转列,视图)汇总
一.创建存储过程 if Exists(select name from sysobjects where NAME = 'sp1LoginUser' and type='P')drop procedu ...
- 【XLL API 函数】xlCoerce
将 XLOPER/XLOPER12 转换为另一种类型,或是查询表格中的单元格值. 函数原型 Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSo ...
- sqlserver 数据库中时间函数的建立
create function [dbo].[HtoSec](@lvalue as int)RETURNS intBEGINDECLARE @temp intSet @temp = @lvalue * ...
- 3ds max 分离对象
转换为可编辑面片,将编辑环境设置为以下状态: 选中所需面片,分离
- 宠物收养所(bzoj1208)
Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...
- Ionic2 Tutorial
build your first app Now that you have Ionic and its dependencies installed, you can build your firs ...
- Java -- 找不到或无法加载主类
原文:http://wenku.baidu.com/link?url=5nS1GEaePn-hmtAg6xXdJvtt9Z89JQsakhqSv8fambaJY2t9nKPtf3hXFpjW-BtD9 ...
- stat file 查看文件的 最新的被访问时间 最近的修改时间 最近的状态改变时间
[root@NB ~]# stat /media/6FE5-D831/git-data/IT-DOC/web收藏.txt File: `/media/6FE5-D831/git-data/IT-DOC ...
- golang channel buffer
package mainimport ( "fmt" "time")func main() { // Case-1: no buffer //chanMessa ...