重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PostgreSQL的CREATE TABLE语句是用来在任何指定的的数据库中创建一个新表。 yiibai.com
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的长宁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
语法
CREATE TABLE语句的基本语法如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE是告诉数据库系统关键字,创建一个新的表。独特的名称或标识如下表CREATE TABLE语句。当前数据库中的表最初是空的,并且将所拥有的用户发出的命令。
然后在括号内来定义每一列的列表,在表中是什么样的数据类型。其语法变得更清晰,下面的例子。
实例
下面是一个例子,它创建了一个公司ID作为主键的表和NOT NULL的约束显示这些字段不能为NULL,同时创建该表的记录:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
让我们创建一个表,在随后的章节中,我们将在练习中使用:
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
可以验证已成功创建使用\d命令,将用于列出了附加的数据库中的所有表。
testdb-# \d
以上PostgreSQL的表会产生以下结果:
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
使用\d表名来描述每个表如下所示:
testdb-# \d company
以上PostgreSQL的表会产生以下结果:
Table "public.company"
Column | Type | Modifiers
-----------+---------------+-----------
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
join_date | date |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)
你自己安装一个PostgreSQL 不就得了,连接路径:IP:端口:初始库名
这是我用Navicat可视化工具的连接信息截图
DELETE语句用于从表中删除现有记录。 “WHERE”子句用于指定删除所选记录的条件,如是不指定条件则将删除所有记录。
语法:
以下是 DELETE语句 的基本语法:
下面来看看一个例子:
考虑一个名为“ EMPLOYEES ”的表,其中包含以下数据。
数据如下所示 -
按照以下步骤删除表中的数据
选择表“ EMPLOYEES ”并右键单击。将看到一个 脚本 选项,将光标移动到 脚本 选项上,将看到“ DELETE脚本 ”选项然后点击它。
就会得到一个这样的页面:
放置要删除的WHERE条件 condition 。
执行一个例子:
从“ EMPLOYEES ”中删除“ID”为 1 的记录。执行以下查询语句:
如下图所示 -
查询 EMPLOYEES 的数据记录,可以看到ID为1的记录已经被删除了 -
看下面这个例子:
查询 EMPLOYEES 的数据记录,可以看到所有记录都已经被删除了 -
可以在函数中使用关键字create temporary table直接创建即可。不过,需要注意的是,要加上if not exists限制,这样在临时表已经存在的情况下,临时表不会被再次创建,从而避免执行异常。
示例函数:
create or replace function ads.fn_create_tmp_tb (n integer, s character varying)returns voidas $$begin create local temporary table if not exists tmp_tb_01 (idx integer, user_name character varying); insert into tmp_tb_01 (idx, user_name) select n, s; raise notice '%', (select user_name from tmp_tb_01 where idx = n);end;$$ language plpgsql;
示例调用:
select ads.fn_create_tmp_tb(1, 'Andy'); select ads.fn_create_tmp_tb(2, 'Jack');