mysql中字段存储1_2_3这样数据的读取_MySQL基础知识总
1、 数据库和SQL
1.1、基本概念:
数据库管理系统 DBMS
关系数据库 RDB
关系数据库管理系统 RDBMS
结构化查询语⾔ SQL
1.2、创建数据库
CREATE DATABASE
1.3、创建表
CREATE TABLE
(,
PRIMARY KEY (列名));
1.4、删除表
DROP TABLE
1.5、表定义的更新
添加列ALTER TABLE ADD COLUMN
删除列ALTER TABLE DROP COLUMN
1.6、向表中插⼊数据
START TRANSACTION;
INSERT INTO
VALUES(VALUE1,VALUE2,VALUE3);
INSERT INTO
VALUES(VALUE1,VALUE2,VALUE3);
COMMIT;
1.7、变更表名
RENAME TABLE
to
2.1、在select 语句中使⽤DISTINCT 可以删除重复⾏
DISTINCT 关键字智能⽤在第⼀个列名之前
2.2、根据where语句来选择记录
Where ⼦句中可以指定“某⼀列的值和这个字符串相等”或者“某⼀列的值⼤于这个数字”等条件。Select
FROM
WHERE
通过WHERE⼦句查询出符合条件的记录,然后再选出SELECT语句指定的列
WHERE⼦句紧跟在FROM⼦句之后
2.3、算术运算符和⽐较运算符
2.3.1算术运算符 + - * /
包含null值的计算结果都是null
2.3.2⽐较运算符
=
<>
>=
>
<=
<
不能对NULL使⽤⽐较运算符,要⽤IS NULL 运算符
2.4、逻辑运算符
NOT
AND
OR
真值
TRUE
FALSE
UNKNOWN
3、 聚合与排序
3.1、
对表进⾏聚合查询
聚合函数
COUNT 计算个数
AVG 数值平均值
MAX 数值最⼤值
MIN 数值最⼩值
聚合函数(除了COUNT外)会把NULL值排除在外
COUNT(*)会得到包含NULL的数据⾏数
COUNT()会得到不含NULL的数据⾏数
想要计算种类时,可以在COUNT函数中使⽤DISTINCT
COUNT(DISTINCT )
3.2、
对表进⾏分组
GROUP BY
GROUP BY⼦句中指定的列称为聚合键或者分组列,可以通过逗号指定多列。书写顺序
SELECT →FROM →WHERE →GROUP BY
常见错误1
把聚合键之外的列名书写在select ⼦句之中
常见错误2
在where⼦句中使⽤聚合函数
只有 select ⼦句、HAVING⼦句以及ORDER BY ⼦句能使⽤聚合函数
3.3、为聚合结果指定条件
HAVING
HAVING⼦句写在GROUP BY⼦句之后
SELECT →FROM →WHERE →GROUP BY →HAVING
3.4、
对查询结果进⾏排序
ORDER BY,
ORDER BY⼦句写在SELECT语句的末尾
ORDER BY ⼦句中的列名称为排序键
书写顺序
SELECT →FROM →WHERE →GROUP
BY →HAVING →ORDER BY
指定升序或降序
DESC 降序 ASC 升序
默认升序
排序键中包含null时,会在开头或末尾进⾏汇总
执⾏顺序
FROM →WHERE →GROUP BY →HAVING
→SELECT→ORDER BY
SELECT⼦句执⾏顺序在GROUP BY 之后ORDER BY 之前因此 GROUP BY⼦句中不能识别SELECT⼦句中定义的别名,⽽ORDER BY ⼦句可以识别别名
4、数据更新
4.1、数据的插⼊(INSERT)
INSERT INTO (列1,列2,列3)VALUES(值1,值2,值3);
插⼊默认值
在创建表的时候在列的约束部分设置默认值
DEFAULT<0>
CREATE TABLE Product
(sale_price INTEGER DEFAULT 0,
Primary KEY());
INSERT INTO Product values (‘0001’,’擦菜板’,‘厨房⽤具’,default,790,‘2009-04-28’);
从其他表中复制数据
INSERT…SELECT 语句
INSERT INTO Productcopy SELECTproduct_id,
product_name, regist_date
FROM product;
4.2、数据删除
DROP TABLE 删除表
DELETE FROM TABLE
WHERE ;
删除表中的数据/⾏
4.3、数据的更新
UPDATE
SET =
;
WHERE ;
4.4、
事务
事务就是需要在同⼀个处理单元中执⾏的⼀系列更新处理的集合
mysql存储文档事务的语法:
START TRANSACTION;
DML语句1
DML语句2
COMMIT(ROLLBACK);
5、 复杂查询
5.1、视图
视图其实就是⼀张表但是这张表并不会保存到储存设备中,实际上保存的是SELECT语句,我们从视图中读取数据时,视图会在内部执⾏该SELECT语句并创建出⼀张临时表。
表中存储的是数据,⽽视图中保存的是从表中取出数据所使⽤的SELECT语句。
应该将经常使⽤的SELECT语句做成视图。
创建视图
CREAT VIEW 视图名称(列1,列2)
AS
使⽤视图
SELECT 列1,列2
FROM 视图名称;
删除视图
DROP VIEW 视图名称;
5.2、⼦查询
⼦查询实际就是⼀张⼀次性的视图。
⼦查询是将⽤来定义视图的SELECT语句直接⽤于FROM⼦句当中。
为⼦查询设定名称时需要使⽤AS 关键字,也可以省略
5.2.1 标量⼦查询
标量⼦查询就是返回单⼀值的⼦查询
标量⼦查询⼏乎所有地⽅都可以使⽤。
标量⼦查询的返回值可以⽤在=或者>
5.2.2 关联⼦查询
在细分的组内进⾏⽐较时,需要使⽤关联⼦查询。
关联⼦查询是在⼦查询中添加where⼦句的条件,将数据限制在同⼀个组内(然后进⾏⽐较)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。