MySQL数据库操作的命令之简单语法汇总

SQL由两部分组成:数据操作语言(DML),数据定义语言(DDL)
DML:

  1. select (查询)
  2. update (更新)
  3. delete (删除)
  4. insert into (插入)

DDL:

  1. create database (新建数据库)
  2. alter database (修改数据库)
  3. create table (新建表)
  4. alter table (修改表)
  5. drop table (删除表)
  6. create index (创建索引)
  7. drop index (删除索引)

语法分析:

  1. select语法

    1. select 列表名 from 表名 从数据库中查询某一列的值
    2. (select * from 表名) 从数据库中查询所有
    3. select distinct 列表名 from 表名 关键词 DISTINCT 用于返回唯一不同的值(去掉重复的值)
    4. select 列表名 from 表名 where 列表名 运算符 值 (值为字符,用单双引号都可以,值为数值,不需要引号)

    5. select 列表名 from 表名 where 列表名 运算符 值 and/or 列表名 运算符 值
      运算符 and or (and 全真为真 or 全假为假)
      and: 若第一个条件和第二个条件都成立,则and运算符显示一条记录
      or: 若多个条件中只要有一个条件成立,则or运算符显示一条记录

    6. select 列表名 from 表名 order by 列表名
      select 列表名 from 表名 order by 列表名 DESC
      order by 语句根据指定的列 对结果进行排序(默认升序排序 ASC),降序排序 使用关键字DESC
  2. insert into 语法
    1. insert into 表名 values (值1,值2,…..) 向表中插入新的行(值全部要根据列 完整填写)
    2. insert into 表名(列1,列2,…)values(值1,值2,….) 指定要插入数据的列
  3. update语法
    1. update 表名 set 列名 = 新值 where 列名 = 某值 (修改表中的某一列的数据)
    2. update 表名 set 列名1 = 新值,列名2 = 新值,… where 列名 = 某一值 (更新某一行中的若干列数据)
  4. delete语法
    1. delete from 表名 where 列名 = 值 (删除某一行)
    2. delete from 表名 / delete * from 表名 (删除所有行)
  5. like 操作符语法
    1. select * from 表名 where 列名 like ‘’(模式 也就是 通配符)
  6. in 操作符语法
    1. select 列名 from 表名 where 列名 in (value1,value2,….) 筛选列名值存在value值中的数据
  7. between操作符语法
    1. select * from 表名 where 列名 between value1 and value2
    2. BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。(部分会包括临界值)
  8. Alias 操作符语法(别名)
    1. select 列名 from 表名 AS 表别名 (指定表的别名)
    2. select 列名 AS 列别名 from 表名 (指定列的列名)
    3. 使用 SQL,可以为列名称和表名称指定别名(Alias)
  9. Join 联表查询
    1. join: 如果表中有至少一个匹配,则返回1行 (加上ON)
    2. left join :即使右表中没有匹配,也从左表返回所有的行
    3. right join : 即使左表中没有匹配,也从右表返回所有的行
    4. full join : 只要其中一个表存在匹配,就返回行 (也称full outer join 外连接)
    5. inner join : 内连接 (inner join 表2 ON)
    6. select * from 表1,表2 where 表1.主键 = 表2.key(表1的主键作为表2的外键 值是一样的)
    7. select * from 表1 inner join 表2 ON 表1.主键 = 表2.key
    8. SELECT 列名s FROM 表1 INNER JOIN 表2 ON表.列名=表2.列名
    9. SELECT 列名s FROM 表1 left join 表2 ON表.列名=表2.列名
    10. SELECT 列名s FROM 表1 right join 表2 ON表.列名=表2.列名
    11. SELECT 列名s FROM 表1 full join 表2 ON表.列名=表2.列名
  10. union 操作符语法
    1. UNION 操作符用于合并两个或多个 SELECT 语句的结果集
    2. UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
    3. select 列名s from 表1 union select 列名s from 表2
    4. UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名
    5. UNION 命令只会选取不同的值(若两个表中有相同的数值,只取一个 不会全部显示)
    6. UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。(相同的数值也会打印出来)
  11. create database 语法
    1. create database name (创建数据库)
  12. create table
    1. CREATE TABLE 表名称
      (
      列名称1 数据类型,
      列名称2 数据类型,
      列名称3 数据类型,
      ….
      )
    2. 用于创建数据库中的表
  13. SQL约束
    1. not null 强制列不接受 NULL 值 (如果不向字段添加值,就无法插入新记录或者更新记录)
    2. union 约束唯一标识数据库表中的每条记录 最后加上UNIQUE (列名)
    3. primary key 主键 主键必须包含唯一的值,主键列不能包含 NULL 值,每个表都应该有一个主键,并且每个表只能有一个主键。
    4. foreign key
    5. check
    6. default
    7. 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
    8. 如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束(CONSTRAINT 取名 UNIQUE (列名1,列名2))
    9. 当表已被创建时,如需在 “某一” 列创建 UNIQUE 约束 (ALTER TABLE 表名 ADD UNIQUE (Id_P))
    10. 如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束 (ALTER TABLE 表名 ADD CONSTRAINT 取名 UNIQUE (列名1,列名2))
    11. 撤销 UNIQUE 约束 (ALTER TABLE 表名 DROP INDEX 取名)
  14. MySQL数据类型
    1. 文本–》text类型
      文本
    2. 数字–》number类型
      数字
    3. 时间–》date类型
      时间
  15. SQL函数
    1. 合计函数—aggregate函数
      函数1
    2. 纯量函数—scalar函数
      函数2
  16. 运算符与通配符

操作符 描述 通配符 描述
= 等于 % 替代一个或多个字符
<> 不等于(!=) _ 仅替代一个字符
> 大于 [charlist] 字符列中的任何单一字符 (like ‘[ALN]%’ 表示匹配以A L N来头的数据 )
< 小于 [^charlist] 不在字符列中的任何单一字符
>= 大于等于 [!charlist] 不在字符列中的任何单一字符
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

需要注意的点
  1. group by 与 where 一起使用时候: where 一定在 group by 之前
  2. having 只能在 group by 后面,对分组后的结果进行筛选 (使用having的前提条件: 分组)
  3. where 后的表达式 不允许使用 聚合函数
  4. having 可以使用聚合函数
  5. where group by having order by 执行顺序
  6. order by 默认升序排序,后面必须是要排序的列名,也可以多个列名
  7. group by 分组 必须有聚合函数(sum(),count(),avg())配合使用