1. 查询表的数据:

    • 基本查询:
    SELECT * FROM <表名>

    ​ ELECT 是关键字,表示将要执行一个查询,* 表示 “所有列”,FROM 表示将要从哪个表查询

    • 条件查询:
    SELECT * FROM <表名> WHERE <条件表达式>
    SELECT * FROM students WHERE score >= 80 AND gender = 'M';

    ​ 多个条件表达式可以用 AND 或者 OR 连接 <条件1> AND/OR <条件2>NOT <条件> ,表示 “不符合该条件” 的记录
    ​ 使用 <> 判断不相等,使用 = 判断相等,使用 LIKE 判断相似, name LIKE 'ab%'% 表示任意字符,例如 'ab%' 将匹配 'ab''abc''abcd' ,要组合三个或者更多的条件,就需要用小括号 () 表示如何进行条件运算,否则,优先级: NOT>AND>OR

    • 投影查询:

      SELECT1,2,3 FROM <表名>
      # 从 students 表中返回 id、score 和 name 这三列:
      SELECT id, score, name FROM students;
      # 可以给每一列起一个别名
      SELECT1 别名1,2 别名2,3 别名3 FROM <表名>
      # 以下 SELECT 语句将列名 score 重命名为 points,而 id 和 name 列名保持不变:
      SELECT id, score points, name FROM students;
      # 投影查询同样可以接 WHERE 条件,实现复杂的查询:
      SELECT id, score points, name FROM students WHERE gender = 'M';
    • 排序:

      SELECT .......ORDER BY ...
      # 按 score 从低到高:
      SELECT id, name, gender, score FROM students ORDER BY score;
      # 默认排序是 ASC “升序”,ASC 可以省略,末尾加上 DESC 表示 “倒序”:
      SELECT id, name, gender, score FROM students ORDER BY score DESC;
      # 使用 ORDER BY score DESC, gender 表示先按 score 列倒序,如果有相同分数的,再按 gender 列排序:
      SELECT id, name, gender, score FROM students ORDER BY score DESC, gender;
      # 如果有 WHERE 子句,那么 ORDER BY 子句要放到 WHERE 子句后面:
      SELECT id, name, gender, score
      FROM students
      WHERE class_id = 1
      ORDER BY score DESC;
      • 分页查询,聚合查询,多表查询,连接查询略
    1. 插入数据:

      INSERT INTO <表名> (字段1, 字段2, ...) VALUES (1,2, ...);
      # 向 students 表插入一条新记录,先列举出需要插入的字段名称,然后在 VALUES 子句中依次写出对应字段的值:
      INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80);
    2. 修改数据:

      UPDATE <表名> SET 字段1=1, 字段2=2, ... WHERE ...;
      # 更新 students 表 id=1 的记录的 name 和 score 这两个字段,先写出 UPDATE students SET name=' 大牛 ', score=66,然后在 WHERE 子句中写出需要更新的行的筛选条件 id=1:
      UPDATE students SET name='大牛', score=66 WHERE id=1;

    参考:廖雪峰的官方网站

阅读次数