MySQL学习记录

本文详细介绍了MySQL的卸载与安装过程,包括关闭服务、卸载软件、清理残留文件等。接着,文章深入讲解了数据库操作,如DDL(数据定义语言)中的创建、查看、删除和修改数据库及表,DML(数据操纵语言)的插入、更新、删除记录,DQL(数据查询语言)的查询操作,以及DCL(数据控制语言)的用户管理和权限控制。此外,还涵盖了外键约束、连接查询和子查询等高级概念。
摘要由CSDN通过智能技术生成

MySQL的卸载与安装问题

卸载步骤

  1. 关闭服务: 【计算】–>右键–>【管理】–>【服务】–>【mysql的服务】–>【停止】
  2. 软件卸载
  3. 清理残余文件,安装和数据目录,C:\ProgramData\MySQL
  4. 重启计算机
  5. 选做)清理注册表、服务、环境变量

安装步骤

个别电脑会需要C++2013环境
.

  1. 某些电脑会需要C++环境,联网点击execute或手动安装即可。
  2. 安装失败,再安装可能出错。可以参考卸载部分的2,3步骤。

DDL操作

  • 创建数据库 create database 数据库名 [character set 字符集][collate 校对规则] 注: []意思是可选的意思
  • 查看所有的数据库 show databases;
  • 查看数据库的定义结构 show create database 数据库名;
  • 删除数据库 drop database 数据库名;
  • 修改数据库 alter database 数据库名 character set 字符集;注意 是utf8,不是utf-8
  • 选定数据库 use 数据库名;
  • 创建表 create table 表名(
    列名 类型 [约束],
    列名 类型 [约束]

    );
  • 查看所有的表 show tables;
  • 查看表的定义结构 desc student;
  • 修改列的类型约束:alter table 表名 modify 字段 类型 约束 ;
  • 修改列的名称,类型,约束: alter table 表名 change 旧列 新列 类型 约束;
  • 删除一列: alter table 表名 drop 列名;
  • 修改表名 : rename table 旧表名 to 新表名;
  • 删除表 drop table 表名;

DML操作

  • 插入 insert into 表名(列,列…) values(值,值…);
  • 更新记录 update 表名 set 列 =值, 列 =值 [where 条件]
  • 删除记录 delete from 表名 [where 条件] 注意: 删除数据用delete,不用truncate
  • truncate 把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快
  • 约束 PRIMARY KEY、AUTO_INCREMENT、NOT NULL、UNIQUE
  • 删除约束 ALTER TABLE persons DROP PRIMARY KEY

DQL操作

  • 查询 select 要查询的字段名 from 表名 [where 条件]
  • 去重 distinct
  • 模糊查询和正则匹配 
      like ‘xxx’ 模糊查询是处理字符串的时候进行部分匹配
      如果想要表示0~n个字符,用%
      如果想要表示确定的1个字符,用_
      regexp ‘正则’
  • 单列排序 SELECT 字段名 FROM 表名 [WHERE 条件] ORDER BY 字段名 [ASC|DESC]; //ASC: 升序,默认值; DESC: 降序
  • 组合排序 SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC];
  • 分组查询 SELECT 字段1,字段2… FROM 表名 [where 条件] GROUP BY 列 [HAVING 条件];
  • where和having的区别 |
  • where 子句
  1. 对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,即先过滤再分组。
  2. where后面不可以使用聚合函数

having字句

  1. having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
  2. having后面可以使用聚合函数 |
    分页查询 select … from … limit a ,b
  1. 外键约束 
     1. create table [数据名.]从表名(
    字段名1 数据类型 primary key ,
    字段名2 数据类型 ,
    …,
    [constraint 外键约束名] foreign key (从表字段) references 主表名(主表字段) [on update 外键约束等级][on delete 外键约束等级]
    #外键只能在所有字段列表后面单独指定
    #如果要自己命名外键约束名,建议 主表名_从表名_关联字段名_fk
    );
     2. alter table 从表名称 add [constraint 外键约束名] foreign key (从表字段名) references 主表名(主表被参照字段名) [on update xx][on delete xx];
    隐式内连接查询 select [字段,字段,字段] from a,b where 连接条件 (b表里面的外键 = a表里面的主键 )
    显示内连接查询 select [字段,字段,字段] from a [inner] join b on 连接条件 [ where 其它条件]
    左外连接查询 select 字段 from a left [outer] join b on 条件
    右外连接查询 select 字段 from a right [outer] join b on 条件
    union 查询语句1 union 查询语句2 union 查询语句3 …
    子查询  子查询作为另一个查询的条件,子查询作为另一个表

DCL语句

创建用户 CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;
授权用户 GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON test.* TO ‘user1’@‘localhost’;
撤销授权 REVOKE 权限1, 权限2… ON 数据库.表名 FROM ‘用户名’@‘主机名’;
** 查看权限** SHOW GRANTS FOR ‘用户名’@‘主机名’;
删除用户 DROP USER ‘用户名’@‘主机名’;
修改管理员密码 mysqladmin -uroot -p password 新密码 -- 新密码不需要加上引号set password for ‘用户名’@‘主机名’ = password(‘新密码’);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值