MySQL数据库+增删改查

MySQL数据库

1 基本概念

表的集合,是存储数据的仓库
以一定的组织方式存储的相互有关的数据集合
是按照数据结构来组织、存储和管理数据的仓库

关系型数据库存储结构是二维表格

库->表->列
每一行称为一条记录,用来描述一个对象的信息
每一列称为一个字段,用来描述对象的一个属性

2 数据库系统

是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成

2.1 操作数据库

  1. 应用程序将数据请求发送到DBMS
  2. DBMS将底层指令发送到DB
  3. DB将查询到的结果转换成数据给DBMS
  4. DBMS将数据处理的结果给应用程序

2.2 分类

关系型数据库

关系数据库系统是基于关系模型的数据库系统
关系模型的数据结构使用简单易懂的二维数据表
关系模型可用简单的实体-关系 E-R图来表示

名称适用
SQL Server面向windows操作系统简单易用
Oracle面向所有主流平台,安全、完善、操作复杂
DB2面向所有主流平台 大型 安全 完善
MySQL免费开源(5.7/8.0)
Mariadb轻量级数据库

MySQL搭配使用PostgreSQL开源关系型数据库,实现平移Oracle


非关系型数据库

NoSQL 存储结构 键值对k/v key/value

名称类型
Redis Memcached缓存型
MongoDB文档型
ElasticSearch搜索型
Prometheus InfluxDB时序性

2.3 常见数据类型

名称特点
int整型,无符号[0,2^32-1] 有符号[-2^31 2^32-1]
float单精度浮点,4字节32位
double双精度浮点,8字节64位
char固定长度的数据类型,占用大,但是修改容易
varchar可变长度的字符类型,删除修改情况下回产生数据碎片
text文本
image图片
decimal5个有效长度数字,小数点后面有2位

3 SQL语句

3.1 DDL

用于创建数据库对象:库、表、索引

3.1.1 创建数据库
create database <库名>;

在这里插入图片描述

3.1.2 创建表
create table <表名> (字段名1 数据类型 [字段属性],字段名2 数据类型 [字段属性].... [primary key(字段)]);

在这里插入图片描述

3.1.3 删除数据库
drop database <库名>;
3.1.4 删除表
drop table <表名>;

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

3.1.5 查看所有数据库
show databases;

在这里插入图片描述

3.1.6 查看数据表
1. 	use <库名>;
	show tables;
2.	show tables from <库名>;
	#不进入数据库查看数据表

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


3.2 DML

管理数据表数据

3.2.1 插入数据
insert into <表名> (字段1, 字段2, ...)  values (字段1的值, 字段2的值, ...);

或

insert into <表名> values (按照字段顺序的所有字段的值);

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

3.2.2 删除数据
delete from <表名> where 条件表达式;
3.2.3 更新数据
update <表名> set 字段=值,..... where 条件表达式;

在这里插入图片描述


3.3 DQL

用于根据条件查询表数据

3.3.1 显示数据表所有数据
select 字段1,字段2,...,最后字段 from <表名> where 条件表达式;
或者
select * from <表名>;

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

3.3.2 查看特定行数据
select * from <表名> limit N;
#显示表前N行

select * from <表名> limit N,M;
#显示从第N行之后的M行记录,不包括第N行

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

3.3.3 修改表名字
alter table <旧表名> rename <新表名>;

在这里插入图片描述

3.3.4 增加表字段
alter table <表名> add 新字段 数据类型 字段属性;

在这里插入图片描述

3.3.5 修改表字段名
alter table <表名> change 旧字段名 新字段名 数据类型 字段属性;

在这里插入图片描述

3.3.6 删除字段
alter table <表名> drop 字段名;
delete from 表名 [where 条件表达式];

在这里插入图片描述


3.4 DCL

用户管理

3.4.1 创建用户
create user '用户名'@'源地址' identified by '密码';
#源地址可以localhost或%

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

3.4.2 重命名
select user,host,authentication_string from mysql.user;
rename user  '旧用户名'@'源地址'  to  '新用户名'@'源地址';
3.4.3 删除用户
drop user '用户名'@'源地址';

在这里插入图片描述

3.4.4 设置密码
set password [for '用户名'@'源地址'] = password('.....');

在这里插入图片描述

3.4.5 找回root用户密码
1. 修改配置文件,在[mysqld]下面添加skip-grant-tables
2. 重启mysqld服务,使用mysql命令直接免密进入数据库系统
3. update mysql.user set authentication_string=password ('新密码') where user='root'
4. 还原配置文件,重启服务

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

3.4.6 权限管理
grant 权限1,权限2,... on 库名,表名 to '用户名'@'源地址' [identified by '密码'];
show grants for '用户名'@'源地址';
查看用户权限

revoke 权限1,权限2(所有权限用all) on 库名,表名 from '用户名'@'源地址';
#撤销权限

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

权限列表

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值