MYSQL基础上

MYSQL基础

确保MySQL已经安装完成

启动

windows下进入cmd的管理运行模式

启动net start mysql80
停止net stop mysql80

连接

客户端连接
img
注意这里使用的命令行既然在所有目录下都可行,那么必然要改环境变量
img
img

数据模型

img
img

SQL

img
img

DDL

DDL-数据库操作

  • 查询
    查询所有数据库SHOW DATABASES;
    查询当前数据库SELECT DATABASE();
  • 创建
    CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET字符集][COLLATE 排序规则];
  • 删除
    DROP DATABASE[IF EXISTS]数据库名;
  • 使用
    USE 数据库名;

img
img

DDL-数据表操作

查询
  • 查询当前数据库所有表
    SHOW TABLES;
  • 查询表结构
    DESC 表名;
  • 查询指定表的建表语句
    SHOW CREATE TABLE 表名;

img

DDL-数据类型

img
img
img

DDL-表操作-修改&删除
  • 添加
    ALTER TABLE表明 ADD 字段名 类型(长度) [COMMENT注释][约束];
  • 修改
    修改数据类型
    ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
    修改字段名和字段类型
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[comment 注释][约束];
    修改表名
    ALTER TABLE 表名 RENAME TO 新表名;
  • 删除
    删除字段ALTER TABLE 表名 DROP 字段名;
    删除表 DROP TABLE [IF EXISTS] 表名;
    删除指定表,并重新创建该表TRUNCATE TABLE 表名;

小结

img

DataGrip

img
img
创建数据库
img

DML (数据操作语言)

  • 添加
    给指定字段添加数据
    INSERT INTO 表名(字段名1,字段名2,...) VALUES (值1,值2,...);
    给全部字段添加数据
    INSERT INTO 表名 VALUES(值1,值2,...);
    批量添加数据
    INSERT INTO 表名(字段名1, 字段名2, ...) VALUES (值1, 值2,...), (值1, 值2,...),(值1, 值2,...) ;
    INSERT INTO 表名 VALUES(值1, 值2,...),(值1, 值2,...),(值1, 值2,...);
    img
    img

  • 更新和删除
    修改数据
    UPDATE 表名 SET 字段名1 = 值1,字段名2= 值2,....[ WHERE 条件];不加where就是全局
    img
    img

    删除
    DELETE FROM 表名 [WHERE 条件]

DQL(数据查询语言)

DQL语法

img

基础查询

  • 查询多个字段
    SELECT 字段1,字段2,字段3 ... FROM 表名;
    SELECT *FROM 表名;全部查询
  • 设置别名
    SELECT 字段1 [AS 别名1],字段2 [AS 别名2] ... FROM 表名;
    img
  • 去除重复记录(例如一个表里头的记录很多一样)
    SELECT DISTINCT 字段列表 FROM 表名

条件查询

语法
img
img

聚合函数

img

  • 语法
    select 聚合函数 from 表明;
    img

分组查询

  • 语法
    SELECT 字段列表 FROM 表名[WHERE 条件] GROUP BY 分组字段名[HAVING 分组后过滤条件];
    执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组而having是分组之后对结果进行过滤。
    判断条件不同:where不能对聚合函数进行判断,而having可以。
    注意这里搜索出来的不再是记录了,而是一个分组,这也是groupby的作用
    img

排序查询

  • 语法
    SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1字段2 排序方式2;
    asc升序 desc降序
    img

分页查询

  • 语法
    SELECT 字段列表 FROM 表名 LIMIT 起始索引查询记录数;
  • 注意
    img

img

案例练习

img

执行顺序

img

小结

img

DCL(数据控制语言)

img

用户管理

  • 用户
    USE mysql; SELECT* FROM user;
  • 创建用户
    CREATE USER '用户名'@'主机名' IDENTIFIED BY'密码';
  • 修改用户密码
    ALTER USER '用户名'@'主机名'IDENTIFIED WITH mysql native password BY '新密码';
  • 删除用户
    DROP USER '用户名'@'主机名';

img

权限控制

img
img
img

posted @ 2023-09-10 19:51  NoAcalculia  阅读(24)  评论(0)    收藏  举报