PostgreSQL入门(2)
最开始前面介绍了如何使用psql创建数据库账号以及连接数据库,那么现在就是需要对数据库进行数据操作了,操作数据首先得有数据,那么首先尝试下建立一个数据。在sql里数据的存在形式是以表,也就是table的方式体现的。
CREATE TABLE class (
id int NOT NULL PRIMARY KEY,
grade int,
teacher varchar(100),
date date);
以上命令就新建了一个简单的class表,表头有id,grade,teacher,date,分别表示这个班级的号码,年纪,班主任,时间等信息。其中注意id后面的int NOT NULL PRIMARY KEY信息,这是对id的一种约束,说明id是唯一的主键,类型是int,必须非空。同理,班主任是字符串型,时间是date型(注意前后2个date的区别)。
建好好可以用命令\d或者\dt查看table
关联列表
架构模式 | 名称 | 型别 | 拥有者
----------+-------+--------+----------
public | class | 资料表 | postgres
(1 行记录)
可以看到已经新建了一个class的表了,也可以用\d class
查看表的具体信息,
资料表 "public.class"
栏位 | 型别 | 修饰词
---------+------------------------+--------
id | integer | 非空
grade | integer |
teacher | character varying(100) |
date | date |
索引:
"class_pkey" PRIMARY KEY, btree (id)
可以看到具体的表头的定义,其中我们默认的主键id被设为了btree方法的索引项。
可以用SELECT * FROM class
查找class表的所有信息,当然现在因为只是建了表头,还是空的,所有结果就是
id | grade | teacher | date
----+-------+---------+------
(0 行记录)
INSERT INTO class (id,grade,teacher,date) VALUES (1,1,'Zhang.S','2019-07-01');
插入数据可以使用INSERT INTO命令,当数据长度和表头一致时可以省略表头信息,INSERT INTO class VALUES (2,1,'Liu.l','2019-07-01');
再次执行SELECT * FROM class
就可以看到数据库信息了
id | grade | teacher | date
----+-------+---------+------------
1 | 1 | Zhang.S | 2019-07-01
2 | 1 | Liu.l | 2019-07-01
(2 行记录)
嗯,到这里我们就拥有了最基本的建立数据库的能力了,简单吧!当然sql的功能多如牛毛,还涉及到设计和优化的问题,不过这都是日积月累的过程,慢慢学习吧!