前几天PostgreSQL 10.0 发布,一直在学习数据库,但没什么进展,准备继续学习POstgreSQL,毕竟号称开源数据库最强者。
首先从官方网站下载安装文件和ODBC驱动文件,如何安装本文不再加以介绍,下面进入正题。
本文数据库为10.0 x64版本,使用数据库自带pgAdmin 4,图形化界面操作下操作内容本文不再加以介绍。
首先创建一个数据库并删除。
#创建数据库TestDatabase
CREATE DATABASE "TestDatabase" WITH OWNER=postgres ENCODING="UTF8" ;
#删除数据库TestDatabase
DROP DATABASE "TestDatabase"
#删除数据库完成提示(不同环境提示稍有不同)
#DROP DATABASE
#Query returned successfully in 339 msec.
#正式开始练习数据库脚本
#创建数据库StudentManager,数据库名称加引号可以原样保留,未加引号则为全部小写,推荐加引号,数据库所有者为postgres,数据库编码为UTF8,"UTF8"单双引号测试均可以
CREATE DATABASE "StudentManager" WITH OWNER=postgres ENCODING="UTF8" ;
#创建数据库完成提示(不同环境提示稍有不同)
#CREATE DATABASE
#Query returned successfully in 4 secs.
中途创建数据库出现一个小插曲,创建数据库反复提示Could not find the specified database.错误,如图所示(注意红色选择框)
正常创建数据库会提示。
下面演示创建表,所在数据库为StudentManager,使用前先需要创建好。public.是可选项。
---创建学生表
CREATE TABLE public."Student"(
"StudentID" integer NOT NULL,
"StudentName" character(100),
"StudentBirthday" date
);
#CREATE TABLE
#Query returned successfully in 164 msec.
#Linux命令行代码
postgres=#
postgres=# \c test
您现在已经连接到数据库 "test",用户 "postgres".
test=# create table student (
test(# studentid int primary key,
test(# studentage int,
test(# admissiontime date,
test(# studentsex boolean
test(# );
CREATE TABLE
#条件删除多行数据
test=# delete from student where studentage =6;
DELETE 3
test=#
test=#
test=# select studentid,studentname,studentage from student;
studentid | studentname | studentage
-----------+-------------+------------
(0 行记录)
test=#
完成后截图如下所示
下面演示删除表。
---删除学生表
DROP TABLE public."Student";
#DROP TABLE
#Query returned successfully in 216 msec.
#Linux命令行代码
test=# drop table student;
DROP TABLE
test=#
温馨提示:图形化界面删除数据库和表等操作,需要先关闭相关脚本操作界面,否则可能会出现删成功报错提示。关键词和不被引号修饰的标识符是大小写不敏感的。
结束语句;也可以用\g代替。例如:
postgres=# create table test(id int)\g
CREATE TABLE
postgres=# insert into test values(1),(2)\g
INSERT 0 2
postgres=# select id from test\g
id
----
1
2
(2 行记录)
postgres=#
参考资料: http://www.postgres.cn/document