W3school 的SQL教程 基础篇笔记.
---------------------------------------------------------------
0. SQL 即structured query language, 结构化查询语言. 它是一种标准, 有很多种方言.
1. 一个数据库通常有一个或多个表(tables), 表有行列.
2. SQL对大小写不敏感.
3. 有些数据库软件要求每条SQL语句后使用分号, 有些不.
4. SQL(结构化查询语言) 可分为两个部分: 数据操作语言(DML) 和 数据定义语言(DDL).
DML 包括查询和更新指令:
- SELECT - 从数据库表中获取语言
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更数据库表
- DROP TABLE - 删除数表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX- 删除索引
5. 关键字:
SELECT
SELECT 列名 FROM 表名
SELECT 列名1,列名2 FROM 表名
SELECT * FROM 表名
在表中可能会包含重复值, 而用关键字DISTINCT 返回的结果中不存在重复值.
SELECT DISTINCT 列名 FROM 表名
WHERE 子句用于规定选择的标准:
SELECT 列名 FROM 表名 WHERE 列 运算符 值
运算符 | 描述 |
= | 等于 |
<> (或!=) | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
AND 和 OR 可在WHERE子句中把两个或多个条件结合起来.
ORDER BY 根据指定的列对结果集进行排序(默认升序(升序ASC, 降序DESC)).
SELECT 列名 FROM 表名 ORDER BY 列 [DESC]
SELECT 列名 FROM 表名 ORDER BY 列1 DESC, 列2 ASC * 对列1降序排列, 结果中的列1中重复的按列2升序
INSERT INTO 语句向表中插入新的行.
INSERT INTO 表名称 VALUES (值1, 值2, 值3...) * 值1,值2,值3 等依次是被插入的一行中没列的值
INSERT INTO 表名称 (列1, 列2, 列3...) VALUES (值1, 值2, 值3...) * 只插入对应列的值
UPDATE 用于修改表中的数据.
UPDATE 表名 SET 列名 = 新值[, 列名2 = 新值 ...] WHERE 列名 = 某值
DELETE 语句用于删除表中的行.
DELETE FROM 表名 WHERE 列名 = 值
在不删除表的情况下删除所有行:
DELETE FROM 表名
DELETE * FROM 表名
6. SQL 使用单引号环绕文本值(字符&字符串), 大部分数据库系统也接受双引号.
---------------------------------------------------------------
* 在W3school网站最下边看见了这个.
雷不要劈我....
---------------------------------------------------------------
update:
7. IN
SELECT 列名 FROM 表名 WHERE 列 IN (值1, 值2,值3...)
BETWEEN
SELECT 列名 FROM 表名 WHERE 列 BETWEEN 值1 AND 值2
LIKE 用于在WHERE子句中搜索指定模式. (模式指利用通配符的表达式)
* SQL 有NOT 关键字, 用法如 NOT LIKE
SELECT 列名 FROM 表名 WHERE 列 LIKE 模式
GROUP BY 通常与SUM()一起用, 用于将结果分组. 按列名3将数据分组, 再对每组用SUM().
SELECT 列名1, SUM(列名2) FROM 表名 GROUP BY 列名3
HAVING 用于判断函数条件, 与WHERE 功能类似, 作用范围不同.
SELECT 列名1, SUM(列名2) FROM 表名 GROUP BY 列名3 HAVING SUM(列名2) 运算符 值
8. 通配符: (通配符必须与LIKE 一起使用.)
% | 代替零个或一个或多个字符 |
_ | 仅代替一个字符 |
[字符串] | 代替字符串中任意一个字符 |
[^字符串] 或[!字符串] | 代替字符串外任意一个字符 |
9. 函数: AVG - 平均值, COUNT - 计数, MAX - 最大值, MIN - 最小值, SUM - 综合.
SELECT 函数名(列名) FROM 表名