MySQL常用语法

DDL

       1、直接创建数据库 CREATE DATABASE 数据库名;

       2、删除数据库 DROP DATABASE 数据库名;

  3、使用/切换数据库 USE 数据库名;

  4、创建表

      CREATE TABLE 表名 (字段名1 字段类型1, 字段名2 字段类型2…);

       5、查看创建表的SQL语句 SHOW CREATE TABLE 表名;

  6、快速创建一个表结构相同的表

      CREATE TABLE 新表名 LIKE 旧表名;

  7、判断表是否存在并删除表(了解)  DROP TABLE (IF EXISTS) 表名;

DML

       1、插入全部字段

    所有的字段名都写出来

      INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);

    不写字段名

      INSERT INTO 表名 VALUES (值1, 值2, 值3…);

       2、复制表 INSERT INTO 表名1 SELECT * FROM 表名2;

    作用:将 表名2 中的数据复制到 表名1 中

       3、更新表记录

      不带条件修改数据

         UPDATE 表名 SET 字段名=值;

      带条件修改数据

        UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

       4、删除表记录

      不带条件删除数据 DELETE FROM 表名;

      带条件删除数据 DELETE FROM 表名 WHERE 字段名=值;

      truncate删除表记录 TRUNCATE TABLE 表名;

DQL

       1、查询表所有数据

      使用*表示所有列 SELECT * FROM 表名;

       2、查询指定列 SELECT 字段名1, 字段名2... FROM 表名;

       3、查询指定列并且结果不出现重复数据 SELECT DISTINCT 字段名 FROM 表名;

       4、条件查询 SELECT 字段名 FROM 表名 WHERE 条件;

       5、模糊查询 SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; MySQL通配符有两个: % : 表示0个或多个字符(任意个字 符) _ : 表示一个字符

  6、排序 SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC]; ASC: 升序, 默认是升序 DESC: 降序

  7、分组 相同数据作为一组

    SELECT 字段1,字段2... FROM 表名 GROUP BY 分组字段 [HAVING 条件];

       8、分页 

    SELECT *|字段列表 [as 别名] FROM 表名 [WHERE子句] [GROUP BY子句][HAVING子句][ORDER BY子句][LIMIT子句];

多表查询:

  1、 内连接

      隐式内连接:看不到 JOIN 关键字,条件使用 WHERE 指定

        SELECT 字段名 FROM 左表, 右表 WHERE 条件;

      显示内连接:使用 INNER JOIN ... ON 语句, 可以省略 INNER

        SELECT 字段名 FROM 左表 INNER JOIN 右表 ON 条 件;

  2、 外连接

      左外连接:使用 LEFT OUTER JOIN ... ON , OUTER 可以省略

        SELECT 字段名 FROM 左表 LEFT OUTER JOIN 右表 ON 条件;

        用左边表的记录去匹配右边表的记录,如果符合条件的则显示;否则,显示NULL 可以理解为:在内连接的 基础上保证左表的数据全部显示

              右外连接:使用 RIGHT OUTER JOIN ... ON , OUTER 可以省略

        SELECT 字段名 FROM 左表 RIGHT OUTER JOIN 右表 ON 条件;

        用右边表的记录去匹配左边表的记录,如果符合条件的则显示;否则,显示NULL 可以理解为:在内连接的基础上保证右表的数据全部显示

 

posted @ 2020-03-10 17:04  sky-boke  阅读(182)  评论(0)    收藏  举报