目录
数据库基础
什么是数据库
数据库:保存有组织的数据的容器
数据库软件:数据库管理系统(DBMS)
表
表表名在一个数据库内是唯一的
列
列:表中的一个字段,,每个列都有相应的数据类型
行
行:一行对应一个记录
主键
主键:一列(或一组列)唯一能够标识表中的每个行
注意:主键列中的值不允许修改或更新,不能重用,即使删除了某行,该行的主键不能赋予以后的新行
检索数据
SELECT基本语句
-
检索单个列:SELECT 列名 FROM 表名;
-
检索多个列:SELECT 列名1,列名2,列名3 FROM 表名;
-
检索所有列:SELECT * FROM 表名;
排序检索数据(ORDER BY)
ORDER BY子句必须在SELECT语句中的最后一条子句
-
按一个列排序:SELECT 列名1 FROM 表名 ORDER BY 列名1;
-
按多个列排序:SELECT 列名1,列名2,列名3
FROM 表名
ORDER BY 列名1,列名2;
表示先按列名1排序,如果有相同的列名1,按列名2排序。
-
指定排序方向:SELECT 列名1 FROM 表名 ORDER BY 列名1 DESC;
注意:DESC关键字只直接应用到位于其前面的列名
过滤数据(WHERE)
WHERE子句操作符:SELECT 列名1 FROM 表名 WHERE 搜索条件;
操作符 | 说明 |
---|---|
= | 等于 |
<>/!= | 不等于 |
</<= | 小于/小于等于 |
>/>= | 大于/大于等于 |
!</!> | 不小于/不大于 |
BETWEEN AND | 范围 |
IS NULL | 是否为空 |
高级数据过滤
-
AND:同时满足条件,且优先级比OR高
-
OR:满足任一检索条件
-
圆括号():分组操作符
-
IN:指定条件范围,WHERE 列名 IN (xxx,xx)
-
NOT:否定条件,WHERE NOT 检索条件
用通配符进行过滤(LIKE)
通配符 | 说明 |
---|---|
% | 任意字符 |
_ | 单个字符 |
[] | 指定范围 |
^ | 否定 |
注意:通配符的搜索时间比其他搜索方式的时间更长,不要过分使用
创建计算字段
-
拼接字段:CONCAT(,,,)
-
去除空格:RTRIM()去除右边空格,LTRIM()去除左边空格,TRIM()去除两边空格
-
使用别名:AS,赋予拼接后字段的新名字,可以成为一个新列,可引用
-
执行算数计算:加减乘除+、-、*、/
使用函数
-
文本处理函数:
函数 说明 LEFT() 返回串左边的字符 LENGTH() 返回串的长度 LOWER()/UPPER() 将串转换为小写/大写 LTRIM()/RTRIM() 去掉串左边/右边的空格 RIGHT() 返回串右边的字符 SOUNDEX() 返回与串发音相似的值 -
日期和时间处理函数
-
数值处理函数
汇总数据
聚集函数:计算和返回单个值的函数,忽略列值为NULL的行
-
AVG():只能用来确定特定数值列的平均值
-
COUNT():若COUNT(*),则不忽略
-
MAX()、MIN()、SUM()
-
DISTINCT:只检索不同的值
分组数据
-
GROUP BY
-
HAVING
插入数据
-
INSERT INTO 表名(列名1,列名2,列名3)VALUES(值1,值2,值3);
-
INSERT SELECT:导入数据
-
SEKECT INTO:从一个表复制到另一个表
更新和删除数据
-
更新数据:UPDATE 表名 SET 列名=值 WHERE 过滤条件;
-
删除数据:DELETE FROM 表名 WHERE 过滤条件;若要删除列值,则使用更新语句设置为NULL
创建表
-
CREATE TABLE 表名(
列名1 数据类型 值是否为空,
列名2 数据类型 值是否为空
);
-
更新表:增加列:ALTER TABLE 表名 ADD 列名 数据类型;
-
删除列:ALTER TABLE 表名 DROP COLUMN 列名 ;
-
删除表:DROP TABLE 表名;
创建视图
创建虚拟的表,用来简化SQL语句
-
CREATE VIEW 视图名 AS SELECT...