【从删库到跑路】MySQL系列

您所在的位置:网站首页 基本sql语法 【从删库到跑路】MySQL系列

【从删库到跑路】MySQL系列

#【从删库到跑路】MySQL系列| 来源: 网络整理| 查看: 265

🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰

文章目录 🍔关系型数据库⭐概念⭐特点 🍔MySQL数据库的数据类型🍔SQL通用语法🍔SQL分类⭐DDL语句操作——数据库🎈查询当前数据库🎈查询所有数据库🎈创建数据库🎈创建数据库并设置字符集 🎈删除数据库🎈使用数据库 ⭐DDL语句操作——表🎈查询当前数据库的所有表 ⭐创建表🎈查询表结构🎈查询指定表的建表语句 ⭐DDL表操作——修改表🎈修改数据类型🎈修改字段名和字段类型🎈修改表名🎈删除字段🎈删除表🎈删除表,并且自动创建该表 ⭐总结⭐DML语句——添加数据🎈给 指定 字段添加数据🎈给 全部 字段添加数据🎈批量添加数据🏀注意 ⭐DML语句——修改数据🏀注意 ⭐DML语句——删除数据🏀注意 ⭐总结⭐DQL语句——查询数据🎈基本查询🏀查询多个字段🏀设置别名🏀去除重复记录 🎈条件查询🎈聚合函数🏀注意 🎈分组查询🏀where和having的区别🏀注意 🎈排序查询🏀注意 🎈分页查询🏀注意 ⭐DQL语句——执行顺序⭐总结⭐DCL语句—用户管理🎈查询用户🎈创建用户🎈修改用户密码🎈删除用户🏀注意 ⭐DCL语句—权限控制🎈查询权限🎈授予权限🎈撤销权限 ⭐总结

内容有点多,建议大家先看目录。

在这里插入图片描述

🍔关系型数据库 ⭐概念

建立在关系模型基础上,由多张相互连接的二维表组成的数据库

⭐特点

🏀使用表存储数据,格式统一,便于维护 🏀使用SQL语言操作,标准统一,使用方便 在这里插入图片描述

🍔MySQL数据库的数据类型

通过客户端,连接MySQL数据库管理系统(DBMS),然后通过SQL语句,通过数据库管理系统创建数据库 也可以通过SQL语句,通过数据库管理系统,在指定的数据库中创建表 在一个数据库服务器中是可以创建多个数据库的,而在一个数据库中,又可以创建多张表,在表中,我们又能存储一条一条的结构 🏀所以数据库和表就是MySQL数据库的数据类型

(https://img-blog.csdnimg.cn/ddf395047a81437d80f59b01613b4307.png)**

🍔SQL通用语法

🏀SQL语句可以单行或多行书写,并且以分号结尾 🏀SQL语句可以使用空格或缩进来增强语句的可读性 🏀MySQL数据库的SQL语句不区分大小写,关键字建议大写 🏀单行注释:–注释内容(或#注释内容) 🏀多行注释:/ * 注释内容 * /

🍔SQL分类

在这里插入图片描述

⭐DDL语句操作——数据库 🎈查询当前数据库 select database();

在这里插入图片描述

🎈查询所有数据库 show databases;

在这里插入图片描述

🎈创建数据库 create database itcast;

可以加一个判断条件,如果不存在数据库的话,就创建一个,否则不创建

create database if not exists itcast;

在这里插入图片描述

🎈创建数据库并设置字符集 create database 数据库名称 default charset 字符集;

在这里插入图片描述

🎈删除数据库 drop database 数据库名称;

可以加一个判断条件,如果存在这个数据库,就删除,否则不删除 ;

drop database if exists 数据库名称

在这里插入图片描述

🎈使用数据库

例如

use itcast;

表示我要切换到itcast数据库

在这里插入图片描述

⭐DDL语句操作——表 🎈查询当前数据库的所有表 show tables;

在这里插入图片描述

⭐创建表

在这里插入图片描述

SQL写完后要加上分号,如果没有分号,那么就可以写多行

在这里插入图片描述 数据库里面的字符串类型是varchar()(()里面是字符串长度)不是string

🎈查询表结构 desc 表名;

在这里插入图片描述

🎈查询指定表的建表语句 show create table 表名;

在这里插入图片描述

⭐DDL表操作——修改表 🎈修改数据类型 alter table 表名 modify 字段名 新数据类型(长度); 🎈修改字段名和字段类型 alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释];

在这里插入图片描述

🎈修改表名 alter table 表名 rename to 新表名;

在这里插入图片描述

🎈删除字段 alter table 表名 drop 字段名;

在这里插入图片描述

🎈删除表 drop table 表名;

可以添加一个判断条件

drop table if exists 表名; 🎈删除表,并且自动创建该表 truncate table 表名;

为什么要这样子操作 虽然会重新创建该表,但是该表的所有数据都不存在了

⭐总结

在这里插入图片描述

⭐DML语句——添加数据 🎈给 指定 字段添加数据 insert into 表名(字段名1,字段名2, ……) value(值1,值2); 🎈给 全部 字段添加数据 insert into 表名 value (值1,值2); 🎈批量添加数据 insert into 表名(字段名1,字段名2,……) value(值1,值2……),(值1,值2……),(值1,值2……);

或者

insert into 表名 value(值1,值2……),(值1,值2……),(值1,值2……); 🏀注意

在这里插入图片描述

⭐DML语句——修改数据 update 表名 set 字段名1=值1,字段名2=值2,……[where 条件];

加上where,就是修改符合条件的数据,否则修改的是所有数据 在这里插入图片描述

🏀注意

修改语句的条件(where)可以有,也可以没有,如果没有条件,那么会修改整张表的所有数据

⭐DML语句——删除数据 delete form 表名 [where 条件]

加上where,就是修改符合条件的数据,否则修改的是所有数据

在这里插入图片描述

🏀注意

修改语句的条件(where)可以有,也可以没有,如果没有条件,那么会修改整张表的所有数据 🏳️‍🌈delete语句不能删除某一个字段的值(但是可以用update删除)

⭐总结

在这里插入图片描述

⭐DQL语句——查询数据

在这里插入图片描述

🎈基本查询 🏀查询多个字段 select 字段1,字段2,字段3……form 表名; select * from 表名;

在这里插入图片描述 在这里插入图片描述

🏀设置别名 select 字段1 [AS 别名1],[AS 别名2]……from 表名;

在这里插入图片描述

🏀去除重复记录 select distinct 字段列表 form 表名;

在这里插入图片描述

🎈条件查询 select 字段列表 from 表名 where 条件列表;

条件 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

🎈聚合函数

概念:就是将一列数据作为一个整体,进行纵向计算 在这里插入图片描述

select 聚合函数(字段列表) from 表名; 🏀注意

null是不参与所有聚合函数的计算的

在这里插入图片描述

🎈分组查询 select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]; 🏀where和having的区别

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组,而having是分组之后对结果进行过滤 判断条件不同:where不能对聚合函数进行判断,而having可以

在这里插入图片描述

🏀注意

执行顺序:where>聚合函数>having 分组之后,查询的字段一般是聚合函数和分组字段,查询其他字段没有意义

🎈排序查询

在这里插入图片描述

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;

在这里插入图片描述

🏳️‍🌈排序方式 asc 升序(默认) desc 降序

🏀注意

如果是多字段排序,当第一个字段值相同时,才会根据第二个字段排序

🎈分页查询 select 字段列表 from 表名 limit 起始索引,查询记录数;

在这里插入图片描述

🏀注意

在这里插入图片描述

⭐DQL语句——执行顺序

在这里插入图片描述

⭐总结

在这里插入图片描述

⭐DCL语句—用户管理

DCL可以用来管理数据库成员,控制数据库的访问权限

在这里插入图片描述

🎈查询用户 use mysql; select * from user;

可以直接查看用户表 在这里插入图片描述

🎈创建用户 create user '用户名'@'主机名' identified by '密码';

在这里插入图片描述

🎈修改用户密码 alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

在这里插入图片描述

🎈删除用户 drop user '用户名'@'主机名';

在这里插入图片描述

🏀注意

主机名可以用%通配,使用%后,表明可以用任意主机进行访问

⭐DCL语句—权限控制

我们创建了用户后,我们会发现,用户可以登录上MySQL,但是不能访问任何的数据库,只能访问一个系统库 原因就是用户创建好了之后,并没有给用户分配权限

在这里插入图片描述

🎈查询权限 show grants for '用户名'@'主机名'; 🎈授予权限 grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'; 🎈撤销权限 remove 权限列表 on 数据库名.表名 from '用户名'@'主机名'; ⭐总结

在这里插入图片描述

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3