MySQL基础--SQL基础语句--2022年9月28日

第一节    数据库相关概念

  

 

第二节    MySQL安装及启动

  1、MySQL安装及启动自行查看文档,这里不多笔记

  2、关系型数据库是什么

  

 

  

  3、数据模型

  

 

第三节    SQL

  1、SQL通用语法

  

  2、SQL分类

  

第四节    DDL

  1、数据库的DDL操作

  

  2、表的DDL操作

  

 

  表的创建规范:[...]内为可选参数,最后一个字段后面没有逗号

CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型 [COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],
......
字段n 字段n类型 [COMMENT 字段n注释 ]
) [ COMMENT 表注释 ] ;

  3、数据类型

    整数型

    

 

    

 

    字符串类型

    

 

    日期时间类型

    

  4、表的DDL操作--修改

    A、添加字段:ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ] ;

    B、修改数据类型:ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度) ; 

    C、修改字段名和字段类型:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

    D、删除字段:ALTER TABLE 表名 DROP 字段名; 

    E、修改表名:ALTER TABLE 表名 RENAME TO 新表名;

  5、表的DDL操作--删除

    A、删除表:DROP TABLE [ IF EXISTS ] 表名;

    B、删除指定表并重新创建:TRUNCATE TABLE 表名; 

    注意:删除表时,表中的数据会被全部删除。

  6、总结

  

第五节    DML

  1、添加字段

    A、给指定字段添加数据:INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); 

    B、给全部字段添加数据:INSERT INTO 表名 VALUES (值1, 值2, ...);

    C、批量添加数据:INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

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

               INSERT INTO 表名(字段名1,字段名2,....) SELECT 字段名1,字段名2,...... FROM.....

               INSERT INTO 表名 SELECT * FROM.....

               REPLACE INTO......(replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;否则,直接插入新数据。)

    D、注意事项

      插入数据时,指定的字段顺序需要与值的顺序是一一对应的

      字符串和日期型数据应该包含在引号中

      插入的数据大小,应该在字段的规定范围内

  2、修改数据

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

    B、注意事项:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

  3、删除数据

    A、DELETE FROM 表名 [ WHERE 条件 ] ; 

    B、注意事项:DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。             

            DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。

  4、总结

  

第六节    DQL

  1、基本语法

复制代码
SELECT
  字段列表
FROM
  表名列表
WHERE
  条件列表
GROUP BY
  分组字段列表
HAVING
  分组后条件列表
ORDER BY
  排序字段列表
LIMIT
  分页参数
复制代码

  2、基础查询

    A、查询多个字段:SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

    B、查询全部字段:SELECT * FROM 表名 ;【* 号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)。】

    C、给字段设置别名:SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;【as可省略。】

    D、去除重复记录:SELECT DISTINCT 字段列表 FROM 表名; 【记忆点:查看不重复的字段。】

  3、条件查询

    A、语法:SELECT 字段列表 FROM 表名 WHERE 条件列表 ; 

    B、常见的比较运算符:

    

 

    C、常见的逻辑运算符

    

  4、聚合函数

    A、介绍:将一列数据作为一个整体,进行纵向计算。

    B、常见的聚合函数

    

    C、语法:SELECT 聚合函数(字段列表) FROM 表名 ;【null值不参与所有聚合函数的运算】

  5、分组查询

    A、语法:SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

    B、where和having的区别

    

    C、关于分组的一些理解--分组后只是为了聚合

      分组以后的结果,每组只能有一个结果

      分组的目的是为了查询某个组的东西,这个查询只能有一个结果,比如和、最大值、最小值、平均值、数量

      通过上面也让我明白了为什么叫聚合函数了,其实就是为了得到一个结果的计算就是聚合,无论最大最小值都是为了得到一个结果

      由第三条又能明白,在分组以后使用having 来运行聚合函数,而不是分组以前使用聚合函数,分组前使用聚合函数是得到的所有记录的运算结果

      where语句是为了控制进入分组的记录,可以把它想象成一个过滤器,把你想要的数据筛选出来 比如 你想得到天津市是所有男人的数量

  6、排序查询

    A、语法:SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ; 

    B、排序方式:

      

  7、分页查询

    A、语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ; 

    B、注意事项:

      

  8、执行顺序

    

 

  9、总结

    

    

第七节    DCL

  1、管理用户

    A、查询用户:select * from mysql.user; 

    B、创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 

    C、修改用户密码:ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;

    D、删除用户:DROP USER '用户名'@'主机名' ; 

    E、注意事项:

      

  2、权限控制

    A、常用权限

      

 

    B、查询权限:SHOW GRANTS FOR '用户名'@'主机名' ; 

    C、授予权限:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'; 

    D、撤销权限:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'; 

    E、注意事项

      

  3、总结

    

 

posted @   漫漫修行路  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示