MySQL基础命令高级操作

news2025/7/30 9:53:51

文章目录

  • 一、案例拓展
  • 二、数据库高级操作
    • 1、克隆表
    • 2、清空表,删除表内的所有数据
    • 3、创建临时表
  • 三、创建外键约束,保证数据的完整性和一直性
    • 1、创建主从表
    • 2、为主表zhu添加一一个主键约束。主键名建议以“PK_ "开头
    • 3、为从表cong表添加外键,并将cong表的hobid 字段和zhu表的hobid 字段建立外键关联。外键名建议以“FK”开头
    • 4、插入新的数据记录时,要先主表再从表
    • 5、删数数据记录时,要先从表再主表,也就是说删除主键表时必须先删除其他与之关联的表
  • 四、MYSQL中6中常见的约束
  • 五、数据库用户管理
    • 1、新建用户
    • 2、查看用户信息
    • 3、重命名用户
    • 4、修改当前登录用户密码
    • 5、修改其他用户登录密码
  • 六、忘记root密码解决办法
    • 1、修改/etc/my.cnf 配置文件
    • 2、使用update 修改root 密码,刷新数据库
  • 七、数据库用户授权
    • 1、授予权限
    • 2、查看权限
    • 3、撤销权限

一、案例拓展

use mysql;
create table if not exists info (
id int(4) zerofill primary key auto_increment,   #指定主键的第二种方式
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar (50)) ;

在这里插入图片描述

  • #if not exists: 表示检测要创建的表是否已存在,如果不存在就继续创建

  • #int(4) zerofill: 表示若数值不满4位数,则前面用“O"填充,例0001

  • #auto_ increment: 表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复:自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次

  • #unique key:表示此字段唯一键约束, 此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键

  • #not null:表示此字段不允许为NULL

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、数据库高级操作

1、克隆表

方法一

create table qq  like jy2; #通过LIKE方法,复制bzx1表结构生成qq表
insert into qq select * from jy2;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

方法二

create table ww (select * from bzx1); #获取数据表的表结构、索引等信息
SELECT * from ww;

直接将表bzx1 格式以及内容一起复制到ww表

在这里插入图片描述

2、清空表,删除表内的所有数据

 delete from qq;
 truncate  table  ww;

在这里插入图片描述

3、创建临时表

临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROPTABLE语句手动直接删除临时表。

create temporary table 表名(字段1 数据类型,字段2数据类型... primary key (主键名));

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、创建外键约束,保证数据的完整性和一直性

定义:外键的定义:如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段x称为表二的外键

理解

  • 以公共关键字作主键的表为主键表(父表、主表)
  • 以公共关键字作外键的表为外键表(从表、外表)

注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。

1、创建主从表

create table zhu (hobid int (4) , hobname varchar (50)) ; #创建主表

create table cong (id int(4) primary key auto_increment, name varchar (10),age int(3),hobid int(4));  #创建从表

在这里插入图片描述

2、为主表zhu添加一一个主键约束。主键名建议以“PK_ "开头

alter table zhu add constraint PK_hobid primary key (hobid) ;

3、为从表cong表添加外键,并将cong表的hobid 字段和zhu表的hobid 字段建立外键关联。外键名建议以“FK”开头

alter table cong add constraint FK_hob foreign key (hobid) references zhu (hobid) ;
desc cong;

在这里插入图片描述

4、插入新的数据记录时,要先主表再从表

insert into zhu values(1, 'runing');

insert into cong values (1, 'zhangsan');

在这里插入图片描述

5、删数数据记录时,要先从表再主表,也就是说删除主键表时必须先删除其他与之关联的表

drop tables cong;
drop tables zhu;

四、MYSQL中6中常见的约束

  • 主键约束( primary key )
  • 外键约束(foreign key )
  • 非空约束(not null )
  • 唯一性约束(unique [keylindex] )
  • 默认值约束(default )
  • 自增约束(auto increment )

五、数据库用户管理

1、新建用户

create user '用户名'@'来源地址’[identified by [password] ' 密码'];

'用户名': 指定将创建的用户名
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost, 允许任意主机登录可用通配%
'密码’: 若使用明文密码, 直接输入'密码',插入到数据库时由Mysql自动加密:
        若使用加密密码,需要先使用select password('密码);获取密文,再在语句中添加password '密文';
        若省略“identified by" 部分,则用户的密码将为空(不建议使用)
create user 'user1'@'localhost' identified by '123456';

select password('abc123');

create user 'user2'@'localhost' identified by password' * 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

在这里插入图片描述

在这里插入图片描述

2、查看用户信息

#创建后的用户保存在mysql 数据库的user 表里

USE mysql;
select User,authentication string,Host from user;

在这里插入图片描述

3、重命名用户

rename use 'user1'@'localhost' to 'zhangsan'@'%';

在这里插入图片描述

4、修改当前登录用户密码

set password = password('abc123') ;

在这里插入图片描述

5、修改其他用户登录密码

set password  for 'user2'@'localhost'  = password('123456') ;

在这里插入图片描述

六、忘记root密码解决办法

1、修改/etc/my.cnf 配置文件

vim /etc/my.cnf
[mysqld]
skip-grant-tables    #添加,使登录mysql不使用授权表

systemctl restart mysqld

mysql     #直接登录![在这里插入图片描述](https://img-blog.csdnimg.cn/20210623150234205.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NTYwOTk0NA==,size_16,color_FFFFFF,t_70)

在这里插入图片描述

在这里插入图片描述

2、使用update 修改root 密码,刷新数据库

update mysql.user set authentication_string = password('abc123') where user=' root' ;

flush privileges;

quit

mysql -u root -p123456

注意:最后再把/etc/my. cnf配置文件里的skip-grant-tables 删除,并重启mysql 服务。

在这里插入图片描述

七、数据库用户授权

1、授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语 句将会创建新的用户:当指定的用户名存在时,GRANT语句用于修改用户信息

grant权限列表 on 数据库名.表名 to '用户名'@'来源地址’[identified by ' 密码'];
  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select, insert, update"。使用“all" 表示所有权限,可授权执行任何操作
  • 数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符 “ ✳”。例如,使用" jinlei.✳"表示授权操作的对象为kgc数据库中的所有表
  • ‘用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“% . jinlei.com”、“192.168.80.%"等。
  • IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY" 部分,则用户的密码将为空。

允许用户zhangsan在本地查询jinlei数据库中所有表的数据记录,但禁止查询其他数据库中的表的记录

grant select on jinlei.* to ' zhangsan'@'localhost' identiified by '123456' ;

在这里插入图片描述

允许用户zhangsan在所有终端远程连接mysql,并拥有所有权限

grant all  on *.* to 'zhangsan'@'%' identified by '123456';

flush  privileges;
quit

mysql  -u  zhangsan  -p 123456

2、查看权限

show grants for 用户名@来源地址;

show grants for 'zhangsan'@'%';

在这里插入图片描述

3、撤销权限

revoke 权限列表 on 数据库名.表名 from 用户名@来源地址;
revoke all on *.* from 'zhangsan'@'%';

#usage权限只能用于数据库登陆,不能执行任何操作; usage权限 不能被回收,即revoke不能删除用户

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地web服务器配置(IIS)

文章目录环境说明操作流程环境说明 Windows 10 操作流程 打开控制面板,输入功能,回车,选择启用或关闭 Windows 功能, 点击确定,等待配置,接着按照提示,重新启动计算机。(此处我的…

Ansible Automation Platform - 导入外部主机清单

《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》 文章目录从外部向“清单”批量导入主机从 VMware vCenter 导入主机清单从外部文件导入主机清单使用“智能清单”Ansible 的 Playbook 执行目标是 “清单” 中的主机和分组。在 AAP 控制台中可以手工创建 “主机” 并通过 …

03、Spring中的静态代理JDK动态代理CGLB动态代理

本文章主要讲解以下几个点: 1、代理模式 2、静态代理 3、JDK的动态代理 4、CGLB动态代理 1、代理模式 1、定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 2、通俗解释 比如:一个人(客户端)需要去…

深度学习 Day 20——优化器对比实验

深度学习 Day 20——优化器对比实验 文章目录深度学习 Day 20——优化器对比实验一、前言二、我的环境三、前期工作1、设置GPU2、导入数据3、配置数据集4、数据可视化三、构建模型四、训练模型五、模型评估1、Accuracy与Loss图2、评估模型六、最后我想说一、前言 🍨…

分析linux启动内核源码

内核的启动时从main.c这个文件里面的start_kernel函数开始的,这个文件在linux源码里面的init文件夹下面 下面我们来看看这个函数 这个函数很长,可以看个大概过去 asmlinkage __visible void __init start_kernel(void) {char *command_line;char *afte…

MCE | 靶向相分离 小分子药物研发

细胞内的各种组分如何在正确的时间、地点上聚集并执行其相应的功能,是生命科学领域内的一大问题。近些年来,细胞内一些没有细胞膜结构包被的“细胞器” (Membrane-less organelles/condensates)——又称生物分子凝聚体 (Biomolecular condensates) 逐渐引…

Analyzing User-Level Privacy Attack Against Federated Learning

Analyzing User-Level Privacy Attack Against Federated Learning IEEE JSAC CCF-A期刊 宋梦凯(武汉大学网络安全实验室) Summary 提出了针对FL用户级隐私的基于GAN的攻击(mGAN-AI),主要是从每个client的更新中计算…

UniPro助力半导体企业之低代码平台篇:高效协同快速响应

在《UniPro助力半导体企业之特色篇:缺陷管理覆盖全流程》中,我们介绍了UniPro如何帮助半导体企业完成在研发过程中的Bug管理,然而缺陷管理也并非UniPro的全部,除此之外,UniPro有着完整的项目管理体系,涵盖了…

相控阵天线(二):非规则直线阵列天线(稀布阵列、稀疏阵列、平方率分布阵列)

目录非规则线阵概述不均匀递变间距阵列稀布阵列稀疏阵列不均匀相位递变阵列不均匀幅度激励阵列代码示例非规则线阵概述 非规则线阵主要包括以下情况: 1. 不均匀间距阵列: a)不均匀间距递变阵列:单元间距按照一定的系数递增&#…

傻白入门芯片设计,IP, MCM, SiP, SoC 和 Chiplet的区别(二)

一、IP: 早期的复制电路都是全定制,比如Intel的4004cpu,这种设计非常耗时。考虑到cpu的很多模块有相似的地方,能不能把这些东西模块化?于是就有了IP核的概念,Intelligent Property,即知识产权核…

智慧运维解决方案-最新全套文件

智慧运维解决方案-最新全套文件一、智能运维的必然性二、建设思路三、建设方案1、IT资产和配置管理2、自动化运维管理3、一体化运维平台四、获取 - 智慧运维全套最新解决方案合集一、智能运维的必然性 运维场景多样化。随着IT业务持续增长,为保证业务连续性&#xf…

相控阵天线(八):圆环阵列天线和球面阵列天线

目录圆环阵圆环阵方向图函数均匀圆环阵示例圆环阵层间距的影响非均匀圆环阵示例球面阵列球面阵方向图函数球面阵示例圆环阵 多个单元分布在一个圆环上的阵列称为圆环阵列。这是一种有实际意义的阵列结构,可应用于无线电测向、导航、地下探测等系统中。 圆环阵方向…

微服务介绍

目录一、系统架构演变单体应用架构垂直应用架构分布式架构SOA架构微服务架构二、微服务架构介绍微服务架构常见问题微服务架构常见概念服务治理服务调用服务网关服务容错链路追踪微服务架构常见问题解决方案ServiceComdServiceCloudServiceCloud AlibabaSpringCloud Alibaba介绍…

[论文评析-CV]MediaPipe: A Framework for Building Perception Pipelines, ArXiv,2019

MediaPipe: A Framework for Building Perception Pipelines文章信息前言框架介绍MediaPipe用于目标检测(1)Detection branch:(2)Tracking branch:MediaPipe框架重要的概念调度其他References文章信息 论文题目:MediaPipe: A Framework for Building Perception Pi…

mysql误删数据后 快速恢复的办法

手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启 show…

运动耳机品牌排行榜前十名有哪些,2022年六款运动耳机值得入手

近几年来,运动健身潮流一直都非常火热,但一个人运动难免会感到枯燥,这个时候最需要的就是音乐的陪伴了,佩戴着运动耳机听音乐,运动的时间也会过得越来越快,不过在选购运动耳机的过程会比挑选普通蓝牙耳机还…

pycharm社区版不能使用conda

修改成cmd 本质是conda init 问题 专业版的直接在终端改成cmd就行了

(DS90UB3702TRURRQ1) LT8640SHV-2低噪声降压稳压器QFN

LT8640/LT8640-1降压稳压器采用Silent Switcher架构,设计用于最大限度地降低EMI/EMC辐射并在高达3MHz的频率下提供高效率。由于具有2.5μA的超低静态电流(当输出处于全面调节状态时),因此适用于要求在非常小负载电流条件下获得极高…

ICP算法加速优化--多线程和GPU

LZ之前的文章ICP算法实现(C) 用C实现了基础的ICP算法,由于该算法是一种迭代的优化算法,里面含有大量循环操作以及矩阵运算,可以通过使用多线程或者GPU硬件来进行加速,具体分别可以通过OpenMP和CUDA编程实现…

六、【React基础】组件实例三大核心属性之三 refs + 事件处理

文章目录1、字符串形式的ref(过时/不推荐)2、回调形式的ref(推荐!!!)● 回调ref中回调次数的问题3、createRef创建ref容器(最新最推荐)4、事件处理理解:组件内…