PostgreSQL基本操作二(新建表,插入数值,natural join,修改数值,添加列和默认值)

news/2024/7/9 21:15:00 标签: PostgreSQL, 数据库

1、新建两个如下的table
在这里插入图片描述

create table Employee(
	EmployeeID serial primary key,
	name varchar(30),
	surname varchar(30),
	departmentname varchar(30),
	annualsalary int);

create table Department(
	DepartmentID serial primary key,
	departmentname varchar(30),
	Manager varchar(30));

2、给两个表中插入数值
在这里插入图片描述

insert into department(departmentname,manager)
values ('Finance', 'George'), ('Sales', 'Harriet'), ('Producion', 'Charles');

insert into employee (name, surname, departmentname, annualsalary)
values ('Harry', 'Smith', 'Finance',22000) , ('Sally', 'Jones', 'Sales', 31000),('George', 'Taylor', 'Finance', 30000), ('Harriet', 'Davies', 'Sales', 20000),('Charlie', 'Evans', 'Producion', 40000),('Clementine', 'Wilson', 'Producion', 38000);

3、用natural join连接两个表(natural join是等值连接,不用专门指定连接条件,系统自动寻找两个表中相同的值匹配)

select * from department natural join employee;

结果:
在这里插入图片描述
4、在表employee中,把Charlie的department改为“Sales”,工资改为30000

update employee 
set departmentname='Sales', annualsalary=30000
where name='Charlie';

5、将“budget”列添加到department表中,默认值为130000

alter table department add budget int default 130000;

update是修改表中的数值,alter是对表进行处理,详见alter的使用

6、修改budget,finance为130000,Sales为230000,Production为180000

update department 
set budget=230000 
where departmentname='Sales';
update department 
set budget=180000
where departmentname='Producion';

http://www.niftyadmin.cn/n/1868005.html

相关文章

PostgreSQL基本操作三(添加唯一性约束UNIQUE,添加非空约束not null,添加限制约束check)

接上,现有两张表,department和employee 1、为department的manager添加唯一性约束,保证manager列中不出现重复值(unique_manager是随便设置的约束名称) alter table department add constraint unique_manager unique…

很简单的数据库关系代数介绍(Relational Algebra)

关系代数与sql语句类似,也是一种独立语言; 以下通过一些例子尽量的简单地讲解,只有七个小点,可能15分钟不到就能看完; 使用表如下: 1、选择(select) 选择一些符合条件的行&#xff…

C++之const用法总结

C const关键字的总结 C之const类成员变量,const成员函数 C/C的const区别

利用protobuf进行读写配置文件

利用protobuf进行读写配置文件 1、编写protobuf 的proto文件 在程序中经常会用配置文件,而利用protobuf可以很方便的进行配置文件的读写。 先编写好protobuf的proto文件 syntax "proto3"; package msgType;enum EnumTest {TEST0 0x00;TEST1 0x01;TE…

分析 snprintf sprintf printf 等 类“printf” 格式化输出函数,由于类型不兼容造成的内存混乱

分析 snprintf sprintf printf 等 类“printf” 格式化输出函数,由于类型不兼容造成的内存混乱 1、引言 在c/c中有关字符串的格式输出的方法,一般都采用类“printf”系列函数,文件:fprintf 缓存区:sprintf snprintf …

POP3邮件接收协议介绍

一、POP3简介 POP3(Post Office Protocol version3),即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件 二、POP3详解 1、通信过程 1)、建…

用#if实现3个分支以上宏定义判断

用#if实现3个分支以上宏定义判断 在实际开发过程中经常会用到宏定义的判断,尤其是在硬件平台和软件平台较多的情况下,宏定义可以很好地在不同平台下条件编译,通常 #ifdef 智能实现单一的判断 下面利用 #if defined 实现3个分支以上的条件编译…

C99相比C89新增内容

文章转自 https://blog.csdn.net/lengye7/article/details/80255833 C99相比C89新增内容 由于c99相对于c89有一些废除内容,所以c99并不兼容c89,以下为c99相对于c89的改动。 1、增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符&#x…