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 '用户名'@'来源地址'; ------------------撤销权限

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

总结

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

相关推荐
ai小陈5 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
PaperData5 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn5 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt6 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3506 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz6 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主7 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
workflower7 小时前
AI system product quality model
大数据·人工智能·机器学习·云计算·无人机
hasty7 小时前
不上传新包,也能改变用户拿到的版本:npm dist-tag 的 OIDC 权限治理
前端·npm·node.js
FPGA小徐7 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络