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

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

总结

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

相关推荐
迎仔几秒前
A-总览:GPU驱动运维系列总览
linux·运维
一心赚狗粮的宇叔4 分钟前
03.Node.js依赖包补充说明及React&Node.Js项目
前端·react.js·node.js
AI_56784 分钟前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
子春一6 分钟前
Flutter for OpenHarmony:音律尺 - 基于Flutter的Web友好型节拍器开发与节奏可视化实现
前端·flutter
JarvanMo6 分钟前
150万开发者“被偷家”!这两款浓眉大眼的 VS Code 插件竟然是间谍
前端
choke2337 分钟前
软件测试任务测试
服务器·数据库·sqlserver
亿元程序员7 分钟前
大佬,现在AI游戏开发教程那么多,你不搞点卖给大学生吗?
前端
龙山云仓7 分钟前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
IT邦德8 分钟前
OEL9.7 安装 Oracle 26ai RAC
数据库·oracle
yyy的学习记录9 分钟前
Ubuntu下urdf模型转换成proto模型
linux·运维·ubuntu