PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

一. 语法命令

1. 基础语法

创建数据库

create database testdb;

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

删除数据库

postgres=# drop database testdb;

DROP DATABASE
postgres=#

创建表

创建表之前要连接指定的数据库 \c test;

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

CREATE TABLE table_name(  
   column1 datatype,  
   column2 datatype,  
   column3 datatype,  
   .....  
   columnN datatype,  
   PRIMARY KEY( one or more columns )  
);


PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

写法1:
test=# create table company(id int primary key not null , name text not null , age int not null ,address char(50) , salary real);

写法2:
test=# CREATE TABLE COMPANY(
test(#    ID INT PRIMARY KEY     NOT NULL,
test(#    NAME           TEXT    NOT NULL,
test(#    AGE            INT     NOT NULL,
test(#    ADDRESS        CHAR(50),
test(#    SALARY         REAL
test(# );


# create tabke company(); 表示创建名为company的表
# 其中包括几个字段
# 每个字段新建的顺序按照 1.字段名 2.字段数据类型 3.是否可以为空 来定义
primary key主键不能为空  id     int     primary key not null
					  name   text          		 not null
					  age     int          		 not null
					  
					  

查看架构(schema)模式

\d 查看架构模式

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

\d tablename 查看表格信息

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

删除表

  1. 连接到对应的数据库 \c test;
test-# \c test;
您现在已经连接到数据库 "test",用户 "postgres".
test-#
  1. drop table company;
test=# drop table company;
DROP TABLE
test=#
  1. \d 查看删除后的目录结构

由于我一开始只有一张company; 删除后, 显示没有其他的表

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

更改表数据

比如我这里有一张pg_equipment的表

2. 插入记录

2.1 语法

PostgreSQL INSERT INTO 语句用于向表中插入新记录。

我们可以插入一行也可以同时插入多行。

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
  • column1, column2,...columnN 为表中字段名。
  • value1, value2, value3,...valueN 为字段对应的值。

在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应。

如果我们向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

2.2 实例

在test数据库中创建COMPANY表

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL,
   JOIN_DATE      DATE
);

\d company 查看创建表

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

插入数据

test=# INSERT INTO COMPANY (id,name,age,address,salary,join_date) VALUES (1, ‘Paul‘, 32, ‘California‘, 2000.00,‘2001-07-13‘);
INSERT 0 1
test=#

查看新增的表中的数据

SELECT * FROM company;

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

如果要忽略某一字段 如salary 就把对应某个字段删去, 对应的value值也删去

test=# INSERT INTO company (id,name,age,address,join_date) VALUES (2, ‘yang‘, 18, ‘suzhou‘, ‘2012-7-13‘);
INSERT 0 1

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

同理:

以下插入语句 join_data 字段使用 default 子句来设置默认值,而不是指定值:

runoobdb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, ‘Teddy‘, 23, ‘Norway‘, 20000.00, DEFAULT );
INSERT 0 1

插入多行

runoobdb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, ‘Mark‘, 25, ‘Rich-Mond ‘, 65000.00, ‘2007-12-13‘ ), (5, ‘David‘, 27, ‘Texas‘, 85000.00, ‘2007-12-13‘);
INSERT 0 2

使用 SELECT 语句查询表格数据:

使用 SELECT 语句查询表格数据:

runoobdb=# SELECT * FROM company;

ID        NAME        AGE        ADDRESS     SALARY   JOIN_DATE
----      ----------  -----      ----------  -------      --------
1         Paul        32         California  20000.0      2001-07-13
2         Allen       25         Texas                    2007-12-13
3         Teddy       23         Norway      20000.0
4         Mark        25         Rich-Mond   65000.0      2007-12-13
5         David       27         Texas       85000.0      2007-12-13

3. SELECT语法

3.1 语法

SELECT 语句语法格式如下:

SELECT column1, column2,...columnN FROM table_name;
  • column1, column2,...columnN 为表中字段名。
  • table_name 为表名

3.1.1 读取表中所有数据

SELECT * FROM table_name;

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

3.1.2 读取指定的字段和name:

SELECT ID,NAME FROM company;

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

PostgresSQL (二) 基础语法 CREATE, INSERT INTO, SELECT

上一篇:[转载]How to avoid using() mistake in C#?


下一篇:Spring JDBCTemplate 增删差功能 (简单易懂)