MySQL学习笔记

学习MySQL时所记录的一些知识点,希望能对大家有所帮助。

DDL语句

创建数据库

CREATE DATABASE 数据库名;

选择数据库

USE 数据库名;

查看所有数据表

SHOW TABLES;

删除数据库

DROP DATABASE 数据库名

创建数据表

CREAT TABLE 表名(
    字段1名称    类型    列的约束条件,
    字段2名称    类型    列的约束条件,
    ......
)

查看表的定义

DESC 表名;

查看创建表的SQL语句

SHOW CREATE TABLE 表名 G
// G后面不用加;

删除表

DROP TABLE 表名;

修改表

修改表的字段类型

ALTER TABLE 表名 MODIFY [COLUMN] 字段定义 [FIRST|AFTER 字段名];
// []的内容可加可不加

增加表字段

ALTER TABLE 表名 ADD [COLUMN] 字段定义 [FIRST|AFTER 字段名];

删除表字段

ALTER TABLE 表名 DROP 字段名;

更改字段名

ALTER TABLE 表名 CHANGE [COLUMN] 旧名 新名 字段定义 [FIRST|AFTER 字段名];

修改字段排列排序

上述命令中,都有一个可选字段[FIRST|AFTER 字段名]可以用来更改字段排列排序。请继续关注飞鱼ACG,后续我们将更新更多实用教程。

更改表名

ALTER TABLE 表名 RENAME [TO] 新的表名;

DML语句

插入记录

插入单条记录

INSERT INTO 表名(字段1,字段2,...) VALUES(值1,值2,...);
// 也可以不写字段,但是VALUES值要和表里的字段顺序一一对应

插入多条记录

INSERT INTO 表名(字段1,字段2,...) VALUES(值1,值2,...),(值1,值2,...),...;

更新记录

更新单表中的记录

UPDATE 表名 SET 字段1=值1,字段2=值2,... [where 条件];

更新多表中的记录

UPDATE 表1,表2... SET 表1.字段1=表达式1,...,表n字段n=表达式n [where 条件];
// 多表更新多用于根据一个表的字段来动态的更新另一个表的字段

删除记录

删除单表中的记录

DELETE FROM 表名 [WHERE 条件];

删除多表中的记录

DELETE 表1,表2,... FROM 表1,表2,...  [WHERE 条件];

查询记录

SELECT 字段名 FROM 表名;
// 字段名用*表示所有字段

查询不重复的记录

SELECT DISTINCT 字段1,字段2 FROM 表名;
// 一般只用于筛选一个字段

条件查询

SELECT 字段名 FROM 表名 WHERE 条件;

使用<,=,>,>=,<=,!=等比较运算符,多条件之间用OR,AND等逻辑运算符连接。

排序与限制
SELECT * FROM 表名 ORDER BY 字段1 ASC|DESC,字段2  ASC|DESC,...;
// ASC:从低到高排序,默认值
// DESC:从高到低排序

SELECT * FROM 表名 ORDER BY 字段1 ASC|DESC,字段2  ASC|DESC,... LIMIT 值1,值2;
// LIMIT 值1,值2 值1表示从第*条开始(从零开始计数),值2表示取*条
聚合
SELECT 函数名(字段名) 字段名 FROM 表名;
/*
FUM_NAME:聚合函数
SUM:求和
COUNT:记录总数
MAX:最大值
MIN:最小值
*/

SELECT 函数名(字段名) 字段名 FROM 表名 GROUP BY 字段名 [WITH ROLLUP];
/*
GROUP BY 字段名:分类聚合
WITH ROLLUP:对分类聚合后的结果汇总
*/

SELECT 函数名(字段名) 字段名 FROM 表名 GROUP BY 字段名 HAVING SUM(字段名)>500;
// HAVING:对分类聚合后的结果进行条件过滤
// WHERE:对聚合前的结果过滤,不能用在聚合后
表连接

需求:显示多个表中的字段的时候使用

内连接:选取多个表中相互匹配的记录

SELECT 表1.字段,表2.字段,... FROM 表1名,表2名 ,... WHERE [表1.字段=表2.字段];

SELECT 表1.字段 别名,表2.字段 别名,... FROM 表1名,表2名 ,... WHERE [表1.字段=表2.字段];
//SELECT 语句可以给字段起别名!直接写在字段的后面

SELECT 表1.字段,表2.字段,... FROM 表1名 别名1,表2名 别名2,... WHERE [别名1.字段=别名2.字段];
//SELECT 语句可以给表起别名!直接写在表名的后面

外连接:不仅选出多个表中相互匹配的记录,还会选出其他不匹配的记录

SELECT * FROM 表1名 LEFT JOIN 表2名 ON WHERE [表1.字段=表2.字段];
// 左连接,以左表为基准

SELECT * FROM 表1名 LEFT JOIN 表2名 ON WHERE [表1.字段=表2.字段];
// 右连接,以右表为基准
子查询

未完待续……

给TA打赏
共{{data.count}}人
人已打赏
教程

【AE教程】Logo图形快速生成蒙版路径

2021-1-9 16:28:55

教程

PHP中操作MySQL

2021-1-11 21:24:27

2 条回复 A文章作者 M管理员
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索