除了以上列举的数据类型,PostgreSQL还支持其他多种数据类型,如网络地址类型、几何类型、文本搜索类型等,如果想了解请自行百度~
3.创建数据库创建数据库有三种方式:
使用SQL语句创建(CREATE DATABASE)
使用命令创建(createdb)
使用可视化工具创建(pgAdmin4)
//CREATE DATABASE创建数据库 CREATE DATABASE dbname; //createdb命令创建数据库 $ createdb dbname当响应为CREATE DATABASE时,就说明成功了。
若是响应为createdb: command not found时,则说明没有安装好。
删除数据库有三种方式:
使用SQL语句删除(DROP DATABASE)
使用命令删除(dropdb)
使用可视化工具删除(pgAdmin4)
//使用SQL语句删除数据库 DROP DATABASE dbname; //使用命令删除数据库 dropdb dbname 5.创建表 & 删除表 & 修改表 //使用CREATE TABLE语法创建表 CREATE TABLE weather( id int, --主键ID city varchar(80), --城市 temp_lo int, --最低气温 temp_hi int, --最高气温 prcp real, --降水量 date date, --日期 PRIMARY KEY() ); //使用DROP TABLE删除表 DROP TABLE 表名 //使用ALTER修改表 ALTER TABLE table_name ADD column_name datatype; --添加新的列 ALTER TABLE table_name DROP column_name; --删除表中的列 ALTER TABLE table_name ALTER COLUMN column_name TYPE datatype; --修改列的数据类型 ALTER TABLE table_name MODIFY column_name datatype NOT NULL; --添加非空约束 ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint; --删除约束 ALTER TABLR table_name ADD CONSTRAINT primarykey_name PRIMARY KEY(column); --添加主键 ALTER TABLR table_name DROP CONSTRAINT primarykey_name; --删除主键real类型用于存储单精度浮点数
在我们创建表的时候,是可以将双划线后面的注释一起键入的,因为双划线后面的内容直到该行末尾都会被忽略;
SQL是对关键字和标识符大小写不敏感的语言;
PostgreSQL模式可以看作是一个表的集合。
一个模式可以包含:函数、视图、索引、操作符、据类型等。
不同模式中使用相同的对象名不会出现冲突。
模式的优点:
允许多个用户使用一个数据库,但不会出现冲突
将数据库对象组织逻辑组更容易管理
第三方应用的对象可以放在独立的模式种,可以避免与其他对象名发生冲突
//使用命令创建模式 create schema schmeaname; create table myschema.weather( --在myschema模式中创建一个名为weather的表 id int, --主键ID city varchar(80), --城市 temp_lo int, --最低气温 temp_hi int, --最高气温 prcp real, --降水量 date date, --日期 PRIMARY KEY(id) ); //使用SQL语句创建模式 CREATE SCHEMA schemaname; CREATE TABLE myschema.weather( --在myschema模式中创建一个名为weather的表 id int PRIMARY KEY NOT NULL, --主键ID city varchar(80), --城市 temp_lo int, --最低气温 temp_hi int, --最高气温 prcp real, --降水量 date date --日期 ); //删除模式 DROP SCHEMA myschema; --myschema模式中的对象已经被删除干净 DROP SCHEMA myschema CASCADE; --删除myschema模式及其模式下的对象 7.INSERT INTO插入 //向表中插入新记录 INSERT INTO weather VALUES(1,'ShangHai',46,52,0.73,'2020-7-16'),(2,'BeiJing',48,58,0.52,'2020-7-16');上面这种写法是标准的写法,它要求我们记住所有字段的顺序和类型。
但是在PostgreSQL中,还有一种可以忽略字段顺序的INSERT写法,但是这种写法不推荐,因为很容易造成错误,所以这里不再赘述,有兴趣可以自己百度~