mysql

118 阅读1分钟

一、sql 入门

1,数据类型

  • 数值:

    包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。
  • 日期和时间

    DATETIME、DATE、TIMESTAMP、TIME和YEAR
  • 字符串

    CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

2,增删改查

  • 创建/删除 数据库

CREATE DATABASE 数据库名;

drop database <数据库名>;
  • 创建/删除 数据表

CREATE TABLE table_name (column_name column_type);
DROP TABLE table_name ;
  • 创建/删除 行

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
                       
DELETE FROM table_name [WHERE Clause]
  • 删除,添加或修改列(表字段)

ALTER TABLE testalter_tbl  DROP i;
ALTER TABLE testalter_tbl ADD i INT;

ALTER TABLE testalter_tbl MODIFY c CHAR(10)
ALTER TABLE testalter_tbl CHANGE i j BIGINT;
  • 更新 行

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
  • 查询

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'


SELECT name FROM person_tbl WHERE name REGEXP '^st'
  • 连接 join—连接表,对列操作 / union–连接表,对行操作

SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

SELECT country FROM Websites  
UNION  
SELECT country FROM apps  
ORDER BY country;
  • 分组 和 排序

SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
SELECT * from runoob_tbl ORDER BY submission_date ASC

二、mysql 原理

image.png

简单来说 MySQL 主要分为 Server 层和存储引擎层:

  • Server 层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。
  • 存储引擎: 主要负责数据的存储和读取,采用可以替换的插件式架构,支持 InnoDB、MyISAM、Memory 等多个存储引擎,其中 InnoDB 引擎有自有的日志模块 redolog 模块。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始就被当做默认存储引擎了

参考链接

欢迎关注我的前端自检清单,我和你一起成长