• MySQL—基础(SQL语句)


    SQL语句:

    • DDL(Data Definition Languages)语句:数据定义语言;操作对象:数据段、数据库、表、列、索引等。

        数据库:

            创建:CREATE DATABASE dbname;

            删除:DROP DATABASE dbname;

          表:

            创建:CREATE TABLE tablename(

                             id INT(5) auto_increment(自增关键词) PRIMARY KEY,

                             name VARCHAR(20) NOT NULL);

            删除:DROP TABLE tablename;

            修改:ALTER TABLE tablename RENAME new_tablename;(修改表名)

               ALTER TABLE tablename MODIFY name VARCHAR(10);(修改某列的属性)

               ALTER TABLE tablename ADD column_name VARCHAR(20) [FIRST/(AFTER col_name)](作为插入的位置);(添加一列)

               ALTER TABLE tablename DROP col_name;(删除一列)

               ALTER TABLE tablename CHANGE old_col_name new_col_name VARCHAR(20) [FIRST/(AFTER col_name)];(修改列名)

               (!CHANGE和MODEFY区别:CHANGE可以修改列名,MODIFY不可以,但是CHANGE两次列名都得写。)

    • DML(Data Manipulation Languages)语句:数据操纵语句;操作对象:表的增删查改

             增:INSERT INTO tablename(col1_name,col2_name) values(value1,value2);

             删:DELETE FROM tablename [WHERE CONDITION];

             查:SELECT * FROM tablename;

             改:UPDATE tablename set col_name = 'value' where id = 1;

             查询升级版(还会更新):

                ONE:

                  SELECT dep,COUNT(*)

                  FROM tablename

                  GROUP BY dep

                  HAVING COUNT(*) >= 2;

                TWO:

                  SELECT *

                  FROM tablename

                  WHERE col_name='abc'

                  LIMIT 0,2(0,2意为:从序号0开始后面的两条数据,eg:2,2意为,从序号1开始后面的两条)

                  ORDER BY col_name DESC;

                THREE:

                  SELECT *

                  FROM tablename

                  WHERE dep IN(

                          SELECT dep

                          FROM tablename_1);(!如果子查询记录数唯一,IN可以用“=”代替。)

                FOUR:

                  SELECT dep FROM tablename

                  UNION / (UNION ALL)

                  SELECT dep FROM tablename_2

             知识点:表的连接查询。

                 WITH ROLLUP:对分类聚合的结果再汇总。

                 HAVING和WHERE的区别:WHERE是聚合前进行条件筛选,HAVING是聚合后进行条件筛选,能用WHERE时优先使用WHERE这样对查询可以

                              做到一定的优化。

                 UNION和UNION ALL的区别:UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复记录后的结果。

    • DCL(Data Control Languages)语句:数据控制语言(开发人员很少使用);操作对象:数据许可、访问级别

             授权:GRANT SELECT,INSERT ON tablename.* TO 'Z1'@'localhost' IDENTIFY BY '123';

             收回:REVOKE INSERT ON tablename.* FROM 'Z1'@'localhost';

            知识点:元数据,为数据的数据,如表名列名等表的各种属性名称。

                information_schema数据库就是用来记录MySQL中的元数据信息,此数据库是一个虚拟的数据库,物理上并不存在相关的目录和文件,全部为视图。

                视图:

                   SCHEMATA:所有数据库信息。

                   TABLES:数据库中的表信息

                   COLUMNS:表中的列信息

                   STATISTICS:表索引的信息

         

               

  • 相关阅读:
    【windows 10 安装docker for windows】
    【windows本地修改git账号、路径信息】
    【echarts】简单使用流程(java)
    【MySql】explain
    【thymeleaf-标签】th:with
    【MongoDB】Windows:安装与启动
    【thymeleaf-标签】th:if
    Thread类中interrupt()、interrupted()和isInterrupted()方法详解
    java中的锁
    LinkedList集合详解
  • 原文地址:https://www.cnblogs.com/ForeverLover/p/4592529.html
Copyright © 2020-2023  润新知