Mysql基本用法(三)

版权声明:秉承开源精神,博主博文可以随机转载,但请注明出处! https://blog.csdn.net/zisefeizhu/article/details/81911599

目录

Mysql架构及SQL语句

 逻辑架构

  SQL语句


      本篇是系列性,由浅入深,主要是为了本人日后回看时再学习,如果道友对Mysql也是零基础的话,强烈建议从头开始看

Mysql基本用法(一)

Mysql架构及SQL语句


 逻辑架构


 代码架构


 简化架构
 
 单进程多线程:
  用户连接:连接线程
  
  MySQL数据文件类型:
   数据文件,索引文件
   重做日志,撤销日志,二进制日志,错误日志,查询日志,慢查询日志,(中继日志)
 
 DDL & DML语句:
  索引管理:
   按特定数据结构存储的数据;
  
  索引类型:
   聚集索引,非聚集索引;数据是否与索引存储在一起;
   主键索引,辅助索引
   稠密索引,稀疏索引;是否索引了每一个数据项;
   B+ TREE,HASH,RREE,全文,索引 等等等
   简单索引,组合索引
   左前缀索引:
    例子:LIKE 'abc%'
   覆盖索引
   
  管理索引的途径:
   创建索引,创建表时指定;CREATE INDEX
   创建或删除索引,修改表的命令
   删除索引 ;DROP INDEX
   
   查看表上的索引
    SHOW {INDEX | INDEXES | KEYS}
     {FROM | IN} tbl_name
     [{FROM | IN} db_name]
     [WHERE expr]
    EXPLAIN
    
 视图:VIEW
  虚表
  
  创建方法:
  CREATE
   [OR REPLACE]
   [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
   [DEFINER = { user | CURRENT_USER }]
   [SQL SECURITY { DEFINER | INVOKER }]
   VIEW view_name [(column_list)]
   AS select_statement
   [WITH [CASCADED | LOCAL] CHECK OPTION]
  

删除试图
   DROP VIEW [IF EXISTS]
    view_name [,view_name] ...
    [RESTRICT | CASCADE]
  视图中的数据事实上存储于”基表“中,因此,其修改操作也会针对基表实现,其修改操作受基表限制;


  SQL语句

DML:
  INSERT,DELETE,UPDATE,SELECT
  
  INSERT:
   支持一次插一行和多行数据;
   Syntax:
    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
     [INTO] tbl_name [(col_name,...)]
     {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
     [ ON DUPLICATE KEY UPDATE
       col_name=expr
      [, col_name=expr] ... ]
    
     简化:INSERT tbl_name [(coll,...)] VALUES (vall,...),(val2,...)

    Or:

    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
     [INTO] tbl_name
     SET col_name={expr | DEFAULT}, ...
     [ ON DUPLICATE KEY UPDATE
       col_name=expr
      [, col_name=expr] ... ]

    Or:

    INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
     [INTO] tbl_name [(col_name,...)]
     SELECT ...
     [ ON DUPLICATE KEY UPDATE
       col_name=expr
      [, col_name=expr] ... ]

  DELETE
   Syntax:
    Single-table syntax:

    DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
     [WHERE where_condition]
     [ORDER BY ...]
     [LIMIT row_count]

    Multiple-table syntax:

    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
     tbl_name[.*] [, tbl_name[.*]] ...
     FROM table_references
     [WHERE where_condition]

    Or:

    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
     FROM tbl_name[.*] [, tbl_name[.*]] ...
     USING table_references
     [WHERE where_condition]

  注意:一定要有限制条件,否则将清空表中的所有数据;
   限制条件:
    WHERE
    LIMIT
  
  UPDATE
   Syntax:
    Single-table syntax:

    UPDATE [LOW_PRIORITY] [IGNORE] table_reference
     SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
     [WHERE where_condition]
     [ORDER BY ...]
     [LIMIT row_count]

  注意:一定要有限制条件,否则将修改所有行的指定字段数据;
   限制条件:
    WHERE
    LIMIT

猜你喜欢

转载自blog.csdn.net/zisefeizhu/article/details/81911599
今日推荐