SQL 语句分类

  1. DDL:数据定义语言,用来定义数据库对象(数据库,表,字段 )

  2. DML:数据操作语言,用来对数据库中的数据进行增删减

  3. DQL:数据查询语言,用来查询数据库中表的记录

  4. DCL:数据控制语言,用来创建数据库表,用来控制数据库的访问权限

    DDL-数据库操作

    查询

    SHOW DATABSES; 查询所有数据库

    SELECT DATABASE(); 查询当前数据库

    DESC 表名; 查询表结构

    SHOW CREATE TABLE 表名;查询指定表的建表语句

    创建

    CREATE DATABSE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集] [COLLATE 排序规则];

    CREATE TABLE 表名(

    字段1 字段1类型[COMMENT 字段1注释],

    .......

    字段n 字段n类型[COMMENT 字段n注释]

    )[COMMENT 表注释];

    注意:[......]为可选参数,可有可无

    删除

    DROP DATABASE[LE EXISTS]数据库名

    使用

    USE 数据库名

    DML-增删改

    添加字段

    ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];

    修改数据类型

    ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

     

    修改字段名和字段类型

    ALTER 表明 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

    删除字段

    ALTER TABLE 表名 DROP 字段名;

    修改表名

    ALTER TABLE 表名 RENAME TO 新表名;

    删除表

    DROP TABLE [IF EXISTS]表名;

    删除表,并重新创建该表

    TRUNCATE TABLE 表名;

     

    • 添加数据 INSERT

    • 修改数据 CUPDATE

    • 删除数据 CDELETE

    添加数据

    给指定字段添加数据

    INSERT INTO 表名(字段名1,字段名2......) VALLUES(值1,值2.....);

    给全部字段添加数据

    INSERRT INTO 表名 VALUES(值1,值2....);

    批量添加数据

    INSER INTO 表名(字段名1,字段名2.....) VALUESC (值1,值2.....),(值1,值2.....)(值1,值2......).....;

    INSER INTO 表名 VALUES(值1,值2.......),(值1,值2).....;

     

    修改数据

    UPDATE 表名 SET 字段名1=值1,字段名2=值2,.....[WHERE 条件];

    删除数据

    DELETE FROM 表名[WHERE 条件];

    DQL-数据查询

    • SELECT 字段列表

    • FROM 表名列表

    • WHERE 条件列表

    • GROUOP BY 分组字段列表

    • HAVING 分组后条件列表

    • ORDER BY 排序字段列表

    • LIMIT 分页参数

 

查询多个字段

SELECT 字段1,字段2.....FROM 表名;

SELECT * FROM 表名;

设置别名

SELECT 字段1[AS 别名1],字段2[AS 别名2].....FROM 表名;

去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

运算符

比较运算符

  1. > 大于

  2. >= 大于等于

  3. < 小于

  4. <= 小于等于

  5. <>或!= 不等于

  6. BETWEEN....AND....在某个范围之内(含最大,最小值)

  7. IN(......) 在IN之后的列表中的值,多选一

  8. LIKE 占位符 模糊匹配(_单个字符,%任意个字符)

  9. IS NULL 是NULL

逻辑运算符

  1. AND或&& 并且(多个条件同时成立)

  2. OR或|| 或者(多个条件任意一个成立)

  3. NOT或! 非,不是

 

聚合函数

  1. COUNT 统计数量

  2. MAX 最大值

  3. MIN 最小值

  4. AVG 平均值

  5. SUM 求和

SELECT 聚合函数(字段列表)FROM 表名;

 

分组查询

SELECT 字段名 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组过滤条件];

执行顺序:WHERE>聚合函数>HAVING

分组之后,查询的字段一般为聚合函数和分组字段查询其他字段无意义