SQL 入门

Posted on Jun 29, 2023

常用命令

CREATE DATABASE test; # 创建数据库
CREATE TABLE t1(id int,body varchar(100)); # 创建表(记得使用\c命令切换数据库)
CREATE USER test WITH PASSWORD 'Test#1357'; # 创建用户
ALTER USER test WITH PASSWORD 'Test#2468'; # 修改密码
ALTER USER test createdb; # 指定用户添加指定角色
GRANT ALL PRIVILEGES ON DATABASE test TO test; # 赋予指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE test TO test; # 移除指定账户指定数据库所有权限

INSERT INTO table_name [(column1, c2, ...)] VALUES (v1, v2, ...); # 在表中插入新数据(在列1,2插入v1v2
SELECT */column_name FROM table_name # 查询数据
SELECT DISTINCT column_name FROM table_name # 显示结果时去除重复值
SELECT 列名称 FROM 标名称 WHERE  运算符 ; # 条件过滤

操作符

操作符描述
=
<>/!=不等于
>
<
>=
<=
IN多选
NOT BEWTEEN… AND( , )/[ , ]/[ , )
LIKE/NOT LIKE某种搜索模式
AND
OR
AS指定表别名’’/列别名""
JOIN多表关联(匹配)
UNION/UNION ALL合并 select 结果集
NOT NULL非空
VIEW是结果集的可视化的表
SELECT * FROM table_name ORDER BY c1,c2 DESC/LASTNAME/ID_P; # 结果按 降序/字母顺序/数字顺序 排列
UPDATE 表名称 SET 列名称 = value WHERE 列名称 = sth.; # 更新数据
DELETE FROM 表名称 WHERE 列名称 = sth.; # 删除某行数据
DELETE FROM table_name; # 删除所有行(表的结构属性索引完整)
TRUNCATE TABLE 表名称 # 删除表内数据
DROP TABLE 表名称 # 删除表

常用函数

语法:

SELECT function() FROM ;

AVG

返回字段的平均值,不包括 null

COUNT

COUNT(*) # 返回表的记录数
COUNT(DISTINCT 列名) # 返回列的总数(除去重复的)
COUNT(列名) # 返回列的值的总数

SUM

求和

GROUP BY

结合统计函数 COUNT,根据某些列对结果集进行分组

HAVING

WHERE 不能和 COUNT 一起使用,所以在统计函数前加上 HAVING

select lastname,count(city) from persons
where city = 'xx'
group by lastname
having count(city) > 1;

UCASE/UPPER & LCASE/LOWER

把字段的值转换为大写/小写

LEN/LENGTH

返回字段的值的长度

ROUND(列名, 精度)

字段舍入为指定的小树位数

NOW/SYSDATE

获取当前日期时间