Mysql数据库(二)

文章目录

  • 前言
  • [一、 数据库的基本操作](#一、 数据库的基本操作)
    • [1.1 查看数据库信息](#1.1 查看数据库信息)
    • [1.2 切换数据库](#1.2 切换数据库)
    • [1.3 创建数据库](#1.3 创建数据库)
    • [1.4 删除数据库](#1.4 删除数据库)
    • [1.5 查看数据库中的表](#1.5 查看数据库中的表)
  • 二、数据库中表的基本操作
    • [2.1 查看表中内容](#2.1 查看表中内容)
    • [2.2 创建表](#2.2 创建表)
      • [2.2.1 字段表头](#2.2.1 字段表头)
      • [2.2.2 字段约束](#2.2.2 字段约束)
    • [2.3 删除表](#2.3 删除表)
    • [2.4 修改表](#2.4 修改表)
      • [2.4.1 修改表名](#2.4.1 修改表名)
      • [2.4.2 增加字段](#2.4.2 增加字段)
      • [2.4.3 删除字段](#2.4.3 删除字段)
    • [2.4.4 修改字段](#2.4.4 修改字段)
    • [2.5 向表中插入数据](#2.5 向表中插入数据)
    • [2.6 查看表中数据](#2.6 查看表中数据)
    • [2.7 更新数据](#2.7 更新数据)
    • [2.8 删除数据](#2.8 删除数据)
    • [2.9 克隆表](#2.9 克隆表)
    • [2.10 创建临时表](#2.10 创建临时表)
  • 三、用户管理
    • [3.1 创建用户](#3.1 创建用户)
    • [3.2 删除用户](#3.2 删除用户)
    • [3.3 修改密码](#3.3 修改密码)
    • [3.4 忘记密码](#3.4 忘记密码)
    • [3.5 用户授权管理](#3.5 用户授权管理)
    • [3.5.1 给用户授权](#3.5.1 给用户授权)
    • [3.5.2 查看权限](#3.5.2 查看权限)
    • [3.5.3 删除权限](#3.5.3 删除权限)
  • 总结

前言

本文将学习数据库的内容编辑,包括库的创建、删除,表的增删改查等。

一、 数据库的基本操作

1.1 查看数据库信息

show databases; ------------------------------查看数据库中所有库

1.2 切换数据库

若想对数据库中的表进行操作,先要切换到对应的数据库。

use 数据库名字 ;------------------------切换数据库

1.3 创建数据库

create database 数据库名字 ;------------------------创建数据库

1.4 删除数据库

drop databases 数据库名字 ;------------------------------------删除数据库

1.5 查看数据库中的表

show tables in 数据库名字 ; ------------------查看某一个数据库中的表

show tables ;------------------------------查看当前数据库中所有表

二、数据库中表的基本操作

2.1 查看表中内容

desc 表名称 ;------------------------查看表中内容

2.2 创建表

create table 表名 ( id int not null AUTO_INCREMENT,

name char(10) not null,

city char(10) not null,

age char(3) not null,

PRIMARY KEY (id)

);

2.2.1 字段表头

Field:字段名称

Type:字段类型

Null:是否允许为空

Key:是否是主键(PRI)、唯一键(UNI)或索引(MUL)

Default:默认值

Extra:额外属性(如 auto_increment)

2.2.2 字段约束

NOT NULL :不能为空

DEFAULT :默认值

PRIMARY KEY :主键

UNIQUE KEY :唯一键

AUTO_INCREMENT :自增长字段(与主键一起使用)

2.3 删除表

drop table 表名 ------------------------------------删除表

2.4 修改表

2.4.1 修改表名

alter table 新表名 rename 就表名 ------------------------修改表名

2.4.2 增加字段

alter table 表名 add number char(10) not null;

2.4.3 删除字段

alter table 表名 drop 字段名;

2.4.4 修改字段

alter table class1023 旧行 新行 新行约束

2.5 向表中插入数据

insert into 表名 (字段1,字段2,字段3...) values(值1,值2,值3...)

2.6 查看表中数据

select * from 表名 ;------------------------------查看表中全部数据

select * from 表名 limit 2; ------------------------显示前两行

select * from 表名 limit 1,2 ;------------------------------查看表中,从第一行之后,显示两行

select * from 表名\G ------------------------竖向显示结果


2.7 更新数据

update 表名 set 字段=要改成的 where 字段=条件

2.8 删除数据

delete from 表名 where 字段=条件

2.9 克隆表

create table 新表名字 like 旧表名字 ---------------------------只克隆表结构,不克隆数据

create table 新表名字 as select * from 旧表名字 ------------------克隆数据,但结构不克隆主键

2.10 创建临时表

临时表不会显示在数据库中,并且不会永久存放。

create temporary table 表名 (id char(2) not null,

name char(10) not null

);

三、用户管理

3.1 创建用户

create user "用户名"@"来源" identified by '密码';

use mysql ------------------------------切换到mysql数据库中(用户数据)

SELECT User, Host, authentication_string FROM user;------------------将所有用户根据这三种制成表格

3.2 删除用户

DROP USER '用户名'@'来源地址' ------------------------删除用户

3.3 修改密码

set password=password('新密码'); -------------------修改当前用户的密码

set password for "用户名"@"来源地址" =password('新密码')------------------------修改用户密码


3.4 忘记密码

1.修改 /etc/my.cnf 添加:

mysqld

skip-grant-tables

2.重启 MySQL 服务并直接登录

3.修改密码:

UPDATE mysql.user SET AUTHENTICATION_STRING=PASSWORD('新密码') WHERE user='root';FLUSH PRIVILEGES;

4.删除 skip-grant-tables 并重启 MySQL

3.5 用户授权管理

3.5.1 给用户授权

(可以看到xjy用户没有mysql数据库权限)

grant 权限命令 on 数据库.表 to "用户名"@"来源地址" identified by "密码"------------------授予权限

(这里授予xjy用户可以在所有数据库的所有表中进行查看数据与添加数据)

(注:授权之后要记得刷新)

3.5.2 查看权限

SHOW GRANTS FOR '用户名'@'来源地址'; ------------------------查看权限

3.5.3 删除权限

REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'来源地址'; ------------------撤销权限

(可以看到权限撤销成功)

总结

本文将学习数据库的内容编辑,包括库的创建、删除,表的增删改查等。希望本文对大家有所帮助,谢谢观看😜

相关推荐
再学一点就睡8 小时前
前端网络实战手册:15个高频工作场景全解析
前端·网络协议
2501_948195348 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_9 小时前
N+1查询问题
数据库·oracle
C_心欲无痕9 小时前
有限状态机在前端中的应用
前端·状态模式
C_心欲无痕9 小时前
前端基于 IntersectionObserver 更流畅的懒加载实现
前端
candyTong9 小时前
深入解析:AI 智能体(Agent)是如何解决问题的?
前端·agent·ai编程
每日出拳老爷子9 小时前
【远程协助】内网 IT 运维远程协助系统的最小可用架构
运维·服务器·远程工作·流媒体·视音频
柳杉9 小时前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
weixin_462446239 小时前
使用 Puppeteer 设置 Cookies 并实现自动化分页操作:前端实战教程
运维·前端·自动化
a程序小傲9 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先