一、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 原理
简单来说 MySQL 主要分为 Server 层和存储引擎层:
- Server 层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。
- 存储引擎: 主要负责数据的存储和读取,采用可以替换的插件式架构,支持 InnoDB、MyISAM、Memory 等多个存储引擎,其中 InnoDB 引擎有自有的日志模块 redolog 模块。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始就被当做默认存储引擎了
参考链接
欢迎关注我的前端自检清单,我和你一起成长