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

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

总结

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

相关推荐
韩立学长43 分钟前
基于Springboot儿童福利院规划管理系统o292y1v8(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
龙仔72543 分钟前
如何通过两台服务器完成六个节点的redis缓存。Redis Cluster(3主3从)完整部署文档
数据库·redis·缓存
kkkkkkkkl241 小时前
数据库系统概论
数据库·oracle
小玉不愚鸭1 小时前
nginx中的https的搭建
运维·nginx·https
低保和光头哪个先来1 小时前
基于 Vue3 + Electron 的离线图片缓存方案
前端·javascript·electron
郝学胜-神的一滴1 小时前
Linux信号屏蔽字详解:原理、应用与实践
linux·服务器·开发语言·c++·程序人生
weixin_307779131 小时前
Jenkins ASM API 插件:详解与应用指南
java·运维·开发语言·后端·jenkins
天天向上10241 小时前
Vue 配置一次打包执行多个命令,并将分别输出到不同的文件夹
前端·javascript·vue.js
从零开始学习人工智能1 小时前
PDF解析双雄对决:Unstructured vs PyMuPDF 深度对比与选型指南
数据库·人工智能·机器学习