PostgreSQL修炼之道:从小工到专家. 3.2 DDL语句

3.2 DDL语句

DDL语句是创建、修改和删除表的语句,想要掌握SQL语言,必须对它有一定的了解。

3.2.1 建表语句

表是关系型数据库中最基本的对象,数据库中的表与实际生活中的二维表格很相似,有很多列也有很多行,每一列有一个名称,不同的列有不同的数据类型,比如,列可能是数字、文本字符串,也可能是日期类型。建表语句的一个简单语法如下:

CREATE TABLE table_name (

col01_namme data_type,       

col02_namme data_type,

col03_namme data_type,

col04_namme data_type,

};

其中“CREATE”、“TABLE”为关键字,是不变的,从字面上也很好理解,表示创建表。“table_name”表示表名,“col01_name”、
“col02_name”、
“col03_name”、
“col04_name”分别表示列名。“data_type”表示数据类型,不同的数据库系统有不同的数据类型名称,即使是相同意思的整数类型,在不同的数据库系统中也有不同的类型名称。变长的字符串在大多数数据库中都可使用
“varchar”类型,比如PostgreSQL、MySQL和Oracle数据库等。整形数据在PostgreSQL和MySQL都可以使用“int”类型。日期类型的名称一般为“date”。例如,要创建一张分数表score,包括“学生名称(student_name)”、“语文成绩(chinese_score)”、“数学成绩(math_score)”、“考试日期(test_date)”四列,则创建这个表的SQL如下:

CREATE TABLE score (

student_name varchar(40),

chinese_score int,

math_score int,

test_date date

);

如果按前面的安装步骤安装完了数据库,之后就可以使用psql工具连接到PostgreSQL数据库了,执行上面的建表语句,如下:

osdba=# CREATE TABLE score (

osdba(# student_name varchar(40),

osdba(# chinese_score int,

osdba(# math_score int,

osdba(# test_date date

osdba(# );

CREATE TABLE

osdba=#

在psql中,可使用\d显示数据库中有哪些表,如下:

osdba=# \d

      
List of relations

 Schema | Name 
| Type  | Owner

--------+-------+-------+-------

 public | score | table | osdba

(1 row)

这样就看到了我们建的表。

使用“\d score”可以显示这张表的定义情况:

osdba=# \d score

               Table "public.score"

   
Column     |        
Type          | Modifiers

---------------+-----------------------+-----------

 student_name 
| character varying(40) |

 chinese_score | integer               |

 math_score   
| integer               |

 test_date    
| date                  |

显示列的类型“character varying(40)”实际上与“varchar(40)”的意思是完全一样的,“int”与“integer”的意思也是一样的。

在建表的时候,可以指定表的主键,主键是表中行的唯一标识,这个唯一标识是不能重复的。在创建表的语句中,可以在列定义后面用“primary key”来指定这一列为主键,如下面的学生表:

CREATE TABLE student(no int primary key, student_name
varchar(40), age int);

在该表中,学号(no)为主键,则在该列的定义后面加了“primary key”。在psql中演示如下:

osdba=# CREATE TABLE student(no int primary
key, student_name varchar(40), age int);

NOTICE: 
CREATE TABLE / PRIMARY KEY will create implicit index
"student_pkey" for table "student"

CREATE TABLE

细心的读者会注意到“NOTICE:  CREATE TABLE /
PRIMARY KEY will create implicit index "student_pkey" for table
"student"”这句提醒,它表示系统为主键自动创建了一个隐含的索引“student_pkey”。

3.2.2 删除表语句

删除表的语法比较简单,如下:

DROP TABLE table_name;

其中“table_name”表示要删除的表名。假设要删除前面创建的表student,则可以使用下面的SQL:

DROP TABLE student;

时间: 2024-08-31 14:20:34

PostgreSQL修炼之道:从小工到专家. 3.2 DDL语句的相关文章

PostgreSQL修炼之道:从小工到专家

数据库技术丛书 PostgreSQL修炼之道:从小工到专家 唐成著             图书在版编目(CIP)数据 PostgreSQL修炼之道:从小工到专家/唐成著. -北京:机械工业出版社,2015.4 (数据库技术丛书) ISBN 978-7-111-49872-8 I. P- II. 唐- III. 关系数据库系统 IV. TP311.132.3 中国版本图书馆CIP数据核字(2015)第063966号 PostgreSQL修炼之道:从小工到专家 出版发行:机械工业出版社(北京市西城

PostgreSQL修炼之道:从小工到专家. 导读

  数据库技术丛书 PostgreSQL修炼之道:从小工到专家   为什么要写这本书 PostgreSQL数据库是目前功能最强大的开源数据库,它基本包含了其他所有商业或开源的数据库中能找到的功能,甚至还包含了一些商业数据库中没有的功能.它是最接近工业标准SQL92的查询语言,并且正在实现新的功能以兼容最新的SQL标准:SQL2003.PostgreSQL也获得数个奖项,曾三次被评为Linux Journal杂志编辑评选的"最佳数据库奖"(2000年.2003年和2004年),并获200

PostgreSQL修炼之道:从小工到专家. 1.2 PostgreSQL数据库与其他数据库的对比

1.2 PostgreSQL数据库与其他数据库的对比 1.2.1PostgreSQL与MySQL数据库的对比 可能有人会问,既然已经有一个人气很高的开源数据库MySQL了,为什么还要使用PostgreSQL?这主要是因为在一些应用场景中,使用MySQL有以下几个缺点: 功能不够强大:MySQL的多表连接查询方式只支持"Nest Loop",不支持"hash join"和"sort merge join".不仅如此,还有很多SQL语法它也不支持,子

PostgreSQL修炼之道:从小工到专家. 2.2 从源码安装

2.2 从源码安装 2.2.1 编译安装过程介绍 这里先把大致的安装过程介绍一下. 第一步:下载源代码. 第二步:编译安装.过程与Linux下其他软件的编译安装过程相同,都是"三板斧": ./configure make make install 第三步:编译安装完成后执行如下步骤. 1)使用initdb命令初使用化数据库簇. 2)启动数据库实例. 3)创建一个应用使用的数据库. 数据库簇是指数据库实例管理的系统文件和各个数据库文件的一个集合. 2.2.2 下载源代码 打开Postgr

PostgreSQL修炼之道:从小工到专家. 2.1 从发行版本安装

2.1 从发行版本安装 2.1.1 在Debian或Ubuntu下的安装 在Debian和Ubuntu下一般使用apt-get命令或aptitude命令来安装软件,命令如下: sudo apt-get install postgresql 安装完毕后,PostgreSQL数据库就启动了,如果想进入数据库,需要切换到postgres用户下: su - postgres 然后使用psql连接到数据库中,从操作系统下的"postgres"用户(注意这里指的不是数据库中的postgres用户)

PostgreSQL修炼之道:从小工到专家. 1.3 小结

1.3 小结 本章主要给大家介绍了什么是PostgreSQL数据库,它有哪些强大的功能,以及目前的一些应用情况,以便大家对PostgreSQL有一个初步的认识.

PostgreSQL修炼之道:从小工到专家. 2.4 PostgreSQL的简单配置

2.4 PostgreSQL的简单配置 本节将简单介绍PostgreSQL的配置方法,更具体的配置操作会在后面的章节中介绍.PostgreSQL数据库的配置主要是通过修改数据目录下的postgresql.conf文件来实现的. 2.4.1 修改监听的IP和端口 在数据目录下编辑postgresql.conf文件,找到如下内容: #listen_addresses = 'localhost'         # what IP address(es) to listen on; #port = 5

PostgreSQL修炼之道:从小工到专家. 2.5 小结

2.5 小结 本章讲解了PostgreSQL在不同平台下的二进制安装方法,以及从源代码进行安装的方法.从前面的叙述中可以看出,在多数Linux发行版本中都自带了PostgreSQL的二进制安装包,可以直接使用Linux发行版本中的包管理器进行安装.不过这些自带的PostgreSQL版本都比较旧,如果想安装较新的PostgreSQL版本,可以从源代码进行编译安装.源代码编译安装也比较简单,要注意的是,需要先把一些依赖的开发包安装上.  

PostgreSQL修炼之道:从小工到专家. 1.1什么是PostgreSQL

1.1什么是PostgreSQL 1.1.1PostgreSQL概述 PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON和JSONB类型.数组类型)和自定义类型.而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数.触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python.PL/Tcl,等等. 1.1.2Post