Open keyfall opened 4 years ago
# 指定字段
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);
#插入全部值
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
可以插入多行,用逗号分隔
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');
SELECT column1, column2,...columnN FROM table_name;
runoobdb=# UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;
runoobdb=# DELETE FROM COMPANY WHERE ID = 2;
使用%,占位多个
使用_,占位一个
offset:从第几条开始提取,初始是0
limit:提取多少条数据
第三位开始提取 3 个记录:
runoobdb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
ASC 表示升序,DESC 表示降序。
runoobdb=# SELECT * FROM COMPANY ORDER BY AGE ASC;
runoobdb=# SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME ORDER BY NAME DESC;
with子句 通过with子句,使得复杂的大型查询分解为更简单的表单
With CTE AS
(Select
ID
, NAME
, AGE
, ADDRESS
, SALARY
FROM COMPANY )
Select * From CTE;`
这里Select ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY
变成CTE,在后面Select * From CTE
使用
having子句
筛选分组后的各组数据
SELECT NAME FROM COMPANY GROUP BY name HAVING count(name) < 2;
distinct关键字
去除重复记录,与select一起使用
SELECT DISTINCT name FROM COMPANY;
with子句 将复杂的大型查询分解为更简单的表单
With CTE AS
(Select
ID
, NAME
, AGE
, ADDRESS
, SALARY
FROM COMPANY )
Select * From CTE;
令语句结果变成CTE表,下面使用CTE去调用
having子句
筛选分组后的各组数据。
SELECT NAME FROM COMPANY GROUP BY name HAVING count(name) < 2;
distinct关键字
DISTINCT 关键字与 SELECT 语句一起使用,用于去除重复记录,只获取唯一的记录。
runoobdb=# SELECT DISTINCT name FROM COMPANY;
安装看#39
换成数据库超级用户postgres
sudo -i -u postgres
使用psql进入数据库
创建数据库
使用 CREATE DATABASE SQL 语句来创建
postgres=# CREATE DATABASE runoobdb;
createdb 命令创建数据库 createdb 是一个 SQL 命令 CREATE DATABASE 的封装。![image](https://user-images.githubusercontent.com/21198605/86752960-51d5eb00-c072-11ea-9efb-f5f7a30753d7.png)
pgadmin工具创建数据库
选择数据库
\l 查看已经存在的数据库
\c+数据库名进入数据库
删除数据库
DROP DATABASE 删除数据库 DROP DATABASE 会删除数据库的系统目录项并且删除包含数据的文件目录。 DROP DATABASE 只能由超级管理员或数据库拥有者执行。
DROP DATABASE [ IF EXISTS ] name
参数IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。dropdb 命令删除数据库 dropdb 命令只能由超级管理员或数据库拥有者执行。![image](https://user-images.githubusercontent.com/21198605/86756924-53ed7900-c075-11ea-8258-5c4738d3c609.png)
创建数据库表
CREATE TABLE 是一个关键词,用于告诉数据库系统将创建一个数据表。 表名字必需在同一模式中的其它表、 序列、索引、视图或外部表名字中唯一。
删除数据库表
DROP TABLE 语句来删除表格,包含表格数据、规则、触发器等
DROP TABLE table_name;