来自 数据库 2020-04-30 11:36 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

PostgreSQL 入门(一)

1.新建一数据表,里面有字段id,将id设为为主键 复制代码 代码如下: create table tb(id int,constraint pkid primary key (id)) create table tb(id int primary key ) 2.新建一数据表,里面有字段id,将id设为主键且自动编号 复制代码 代码如下: create table tb(id int identity(1,1),constraint pkid primary key (id)) create table tb(id int identity(1,1) primary key ) 3.已经建好一数据表,里面有字段id,将id设为主键 复制代码 代码如下: alter table tb alter column id int not null alter table tb add constraint pkid primary key (id) 4.删除主键 复制代码 代码如下: Declare @Pk varChar(100); Select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('tb') and xtype='PK'; if @Pk is not null exec('Alter table tb Drop '+ @Pk)

PostgreSQL是一个开放源代码的对象关系型数据库管理系统(ORDBMS),支持几乎所有的SQL构件(包括子查询、事务、用户定义类型和函数)。
数据库是由一批数据构成有序的集合。这些数据被存放在结构化的数据表里。数据表之间相关互联,,反映了客观事物间的本质联系。、
PostgreSQL,客户端-服务器结构,(C/S结构),是一种网络架构。
服务器是整个应用系统资源的存储与管理中心,多个客户端的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回客户端,减少网络数据传输量。
PostgreSQL支持热备份技术,该技术是创建、维护和监控一个或者多个主数据库的备用数据库,以保护企业数据不受故障、灾难、错误和崩溃的影响。它通过一个控制中心来完车以上所有的任务。当生产数据库由于计划中断而变得不可用时,数据库热备份可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,并防止数据丢失。

修改数据库的名称
alter database test rename to testdb;
修改数据库拥有者
alter database test owner to postgres1;
删除数据库
drop database test;
数据库在修改数据库名称、删除的时候,以下状态无法操作成功。当数据库处于正在使用状态等的时候。
修改数据库连接最大值
alter database testdb with connection limit=1000;
在创建数据库时,create database后面不能直接加条件,需要配合alter语句进行。这和SQL server有差别。

主键,又称主码,是表中的一列或者多列。
主键约束(Primary Key Constraint)
主键约束要求主键列的数据唯一,并且不允许为空。
1.单字段主键
create table tb1
(
id int ,
name varchar(20),
age int,
primary key(id)
);

  1. 多字段联合主键
    create table tb1
    (
    id int ,
    name varchar(20),
    age int,
    primary key(id,name,age)
    );

外键约束
外键用来在两个表的数据之间建立连接,可以是一列或者多列。一个表可以有一个或者多个外键。

create table tb_dept1
{
id int primary key,
name varchar(22) not null,
location varchar(50)
}

create table tb_emp5
{
id int primary key,
name varchar(25),
deptid int,
salary float,
constraint fk_emp_dept1 foreign key(depid) references tb_dept1(id);
}

非空约束 not null constraint
指定字段的值不能为空
create table tb_emp6
(
id int primary key,
name varchar(20) not null,
deptid int,
salary float,
constraint fk_emp_dept2 foreign key (deptid) tb_dept1(id)
)

唯一约束 unique constraint
唯一性约束(unique constraint)要求添加该约束的列字段的值唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

create table tb-dept2
(
id int parmary key,
name varchar(20) unique ,
location varchar(20)
)

create table tb_dept3
(
id int primary key,
name varchar(20),
location varchar(20),
constraint sth unique(name)
)
unique 和primary key : 一个表中可以有多个字段声明为unique , 但只能有一个primary key 声明:声明为primary key 的列不允许有空值,但是声明为unique的字段允许空值null的存在。

只能有一个primary key 声明的含义:
以下为错误声明:
create table tb_dept3
(
网上澳门金莎娱乐,id int primary key,
name varchar(20) primary key,
location varchar(20),
constraint sth unique(name)
)

这是错的

默认约束 default constraint
指定某列的默认值
语法规则如下:
字段名 数据类型 default 默认值
create table tb_emp7
(
id int primary key,
name varchar(25) not null,
deptid int default 11,
salary float,
constraint fk_emp_deptid3 foreign key (deptid) references tb_dept1(id)
)

修改表名
alter table <旧表名> rename to <新表名>
修改字段的数据类型
alter table <表名> alter column <字段名> type <数据类型>
修改字段名
alter table <表名> rename <旧字段名> to <新字段名>
添加字段
alter table <tablename> add column <newfieldname> <fieldtype>

  1. 添加无完整性约束条件的字段
    alter table test1 add column usernameid int;
    2.添加有完整性约束条件的字段
    alter table test1 add column1 varchar(10) not null;

删除字段
alter table <table name> drop <field name>

例子: alter table test1 drop column1;

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:PostgreSQL 入门(一)

关键词: