MySQL之基本操作与用户授权

一 基本操作

1 SQL分类

  • 数据库:database

  • 表:table,行:row 列:column

  • 索引:index

  • 视图:view

  • 存储过程:procedure

  • 存储函数:function

  • 触发器:trigger

  • 事件调度器:event scheduler,任务计划

  • 用户:user

  • 权限:privilege

 2 SQL 语言规范

  • 在数据库系统中,SQL 语句不区分大小写,建议用大写

  • SQL语句可单行或多行书写,默认以 " ; " 结尾

  • 关键词不能跨多行或简写

  • 用空格和TAB 缩进来提高语句的可读性

  • 子句通常位于独立行,便于编辑,提高可读性

3 SQL语句分类

  • DDL: Data Defination Language 数据定义语言

CREATE,DROP,ALTER

  • DML: Data Manipulation Language 数据操纵语言

INSERT,DELETE,UPDATE

软件开发:CRUD

  • DQL:Data Query Language 数据查询语言

SELECT

  • DCL:Data Control Language 数据控制语言

GRANT,REVOKE

  • TCL:Transaction Control Language 事务控制语言

COMMIT,ROLLBACK,SAVEPOINT

查看数据库信息

 show databases;

查看数据库中的表信息 

use mysql

show tables

方法二

# 格式  show  tables  from  库名show tables from mysql;

方法三

纵向查看方式:

desc  表名\G;

显示数据表的结构

mysql> use mysql
mysql> describe user; 

Field:字段名称

type: 数据类型

Nu11 :是否允许为空

Key :主键

Type: 数据类型

Null :是否允许为空

key :主键

Default :默认值

Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)1 2

id: 1 3 5 7

常见的数据类型

二 创建数据库和表

DDL语句可用于创建数据库对象,如库、表、索引等

使用DDL语句新建库、表

创建数据库


创建数据表

create table mcb (id int not null,name char(16) not null,score decimal(4,2),passwd char(45) default'',primary key (id));

或create 

 查看定义字段

select *from mcb250;

select * from where  id =2

三 对表中的数据进行管理

1 DDL语句删除库、表

删除指定的数据表

mysql> drop table auth;

usersQuery OK, 0 rows affected (0.01 sec)

方法①

drop table mcb38;


DROP TABLE[数据库名.1表名

方法②

删除指定的数据库

mysql> drop database auth;

Query OK, 0 rows affected (0.00 sec)

DELETE:删除表指定数据

删除表,还能建;删除库就彻底没有希望了,需谨慎

INSERT:插入新数据

UPDATE: 更新原有数据

2  查询

查询时可不指定条件 

查找符合条件的数据记录

清空表

方法一:

格式:
delect from 表名;
# delete 清空表后,返回的结果内有删除的记录条目
# delete 工作时是逐行的删除数据;如果表中有自增长字段,使用 delete from 删除所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录

方法二

truncate table 表名;
# truncate 清空表后,没有返回被删除的条目
#TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 truncate 会比 delete 清空表快;使用truncate table 清空表内数据后,id 会从 1 开始重新记录

 三种删除命令区别 

总结:

  • 不再需要一张表的时候,用drop
  • 想删除部分数据行时候,用delete,并且带上where子句
  • 保留表结构而删除所有数据的时候用truncate
  • 删除速度:drop> truncate > delete
  • delete 安全性最好 

建立临时表

用于保存一些临时数据,不会长期存在


mysql> create temporary table TCL (id int(6) zerofill primary key auto_increment,name varchar(16) not null,cardid int(18) not null unique key,hobby varchar(600),sike int(11));
Query OK, 0 rows affected (0.00 sec)mysql> select * from TCL;
Empty set (0.01 sec)mysql> insert into TCL values(2,'mg',01,'huaqian',10);
Query OK, 1 row affected (0.00 sec)mysql> select * from TCL;
+--------+------+--------+---------+------+
| id     | name | cardid | hobby   | sike |
+--------+------+--------+---------+------+
| 000002 | mg   |      1 | huaqian |   10 |
+--------+------+--------+---------+------+
1 row in set (0.00 sec)mysql> 

复制表结构

创建新表,导入数据

create table 新表名 like 旧表名;
#通过LIKE方法,复制旧表的结构生成新表insert into 新表名 (select * from 旧表名);     
#再将旧表数据导入新表

克隆表

第一种方式:迁移表 表的结构 属性 约束 数据

 第二种方式:备份数据 表的复制

总结:克隆表有两种

① 迁移表:表的结构、属性、约束、数据等

② 备份数据:表的属性、内容(数据)

三 表结构的管理

修改表名

格式:

alter table 旧表名 rename 新表名;

扩展表结构(增加字段)

 格式:

alter table 表名 add 字段名 数据类型;

 修改字段(列)名,添加唯一键

删除表达内容 

 四 数据库的用户授权

1.新建用户

格式:
create user '用户名'@'来源地址' [identified by [passwd] '密码'];

2 加密密码创建用户:

 SELECT PASSWORD('密码');    #先获取加密的密码​CREATE USER 'm'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';

 3 查看用户密码的信息

用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库

 

4 查看用户信息,

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

use mysql;select user,authentication_string,Host from user;

5 登录用户用户名的更改

重命名指定
rename user 'cpu'@'locahost' to 'mcb250'@'localhost';
 修改用户密码
 set password = password('3721');

 删除登录用户

drop user 'mcb550'@'localhost';

修改其他用户密码 

 6 忘记root密码的解决方法

① 修改 /etc/my.cnf 配置文件,免密登录mysql

② 重启数据库服务

③ 无密码登录之后,修改数据库用户中的 root 密码


update mysql.user set authentication_string = password('250') where user='root';
#用于更新MySQL数据库系统表mysql.user中的用户root的密码。AUTHENTICATION_STRING是MySQL 5.7.0以后版本中用于存储密码的字段名

⑤ 撤销添加的免密码认证设置,重启数据库服务(玩玩就行)

五 管理登录用户的权限

在 MySQL 中,用户提权是指将用户的权限从一个级别提升到另一个更高的级别。或者根据需求给予合理的权限。

[NO_AUTO_CREATE_USER], 即在grant语句中禁止创建空密码的账户,使用grant语法创建用户必须带上 “identified by”关键字设置账户密码,否则就被认为是非法的创建语句。 

 查看用户已有权限的操作

show grants;
#查看当前用户(自己)的权限

show grants for 'NBA'@'localhost';#查看其他用户的权限

对已存在用户授权示

grant select,insert on study.class to 'mcb'@'localhost';show grants for 'mcb'@'localhost';

对不存在的用户进行创建并授权 

撤销用户权限 

 revoke 权限列表/ALL on 库名.表名 from '用户名'@'来源地址';

用户的远程登录

 grant all privileges on *.* to 'NBA'@'192.168.11.%' identified by '123';

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

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

相关文章

【强化学习公式推导】状态价值函数与动作价值函数贝尔曼期望方程,贝尔曼最优方程推导过程

【强化学习公式推导】状态价值函数与动作价值函数贝尔曼期望方程,贝尔曼最优方程推导过程 1.回报 2.当前时刻的回报与下一时刻回报的关系 3.状态价值函数 4.动作价值函数 5.状态价值函数与动作状态价值函数的关系 6.贝尔曼期望方程 7.状态价值函数的贝尔…

迷宫(蓝桥杯)——DFS和BFS

迷宫 题目描述 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。 010000 000100 001001 110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左…

[云] vmware: host: net: Net.CoaleseDefaultOn

https://communities.vmware.com/t5/Storage-Performance/Advanced-Networking-Performance-Options/ta-p/2792649 在vsphere client下的路径是: 选择使用的host -> 右键setting->configure-> system->advanced system setting->edit->Net.Coales…

微信小程序开发之创建一个自己的项目和项目目录下各个文件的了解

1、小程序开发工具基础 (1)菜单栏:可以对开发工具进行一些简单的设置,还可以在帮助一行获取学习相关api文档 (2)模拟器显示栏:每当我们在进行便写好代码之后,通过编译可以在模拟显示…

华为ensp中ospf基础 原理及配置命令(详解)

CSDN 成就一亿技术人! 作者主页:点击! ENSP专栏:点击! CSDN 成就一亿技术人! ————前言———— OSPF 的全称是 Open Shortest Path First,意为“开放式最短路径优先”。是一种内部网关协…

【算法刷题day3】Leetcode: 203.移除链表元素、707.设计链表、 206.反转链表

链表基础知识 分类: 单链表、双链表、循环连链表 存储方式: 链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。 链表的定义: struct ListNode{int val; //节…

【如何安装odl: 1.0.0.dev0】

【如何安装odl: 1.0.0.dev0】 ODL官网 pip install odl可能容易报错,建议使用下述命令安装 pip install https://github.com/odlgroup/odl/archive/master.zip检查是否安装成功 conda list

聊聊车载以太网PMA测试解决方案

自2013年起,车载以太网技术日益成熟,在电子电气系统中应用越来越广泛,因此逐渐有很多主机厂和供应商加入到车载以太网技术的开发应用中,同时对传输速率的要求逐步提高,产生了传输速率更高的车载以太网技术,…

低代码开发平台开源:依靠科技力量实现数字化转型!

在竞争激烈的当今社会,数字化转型、流程化办公等字眼早已充斥在我们的职场生活中。虽然如此,但是我们依然要面临着这样一个现实问题:很多中小企业发展面临着资源有限、技术储备不足、人才短缺的现实问题,进入流程化办公困境依然明…

Linux东方通下载及使用

解压文件 mkdir /usr/local/java 加压包拖进去 vi /etc/profile 复制路径修改路径 export JAVA_HOME/usr/local/java/jdk1.8.0_151 export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH$PATH:${JAVA_HOME}/bin 进入…

Day41:WEB攻防-ASP应用HTTP.SYS短文件文件解析Access注入数据库泄漏

目录 ASP-默认安装-MDB数据库泄漏下载 ASP-中间件-CVE&短文件&解析&写权限 HTTP.SYS(CVE-2015-1635)主要用作蓝屏破坏,跟权限不挂钩 IIS短文件(iis全版本都可能有这个问题) IIS文件解析 IIS写权限 ASP-SQL注入-SQLMAP使用…

软件推荐 篇三十七:安卓软件推荐IP Tools「IP工具」:全面解析网络状态与管理的必备神器

引言: 随着互联网的普及,网络已经成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐,我们都需要通过网络来进行各种操作。然而,网络问题的出现往往会给我们带来诸多困扰。为了更好地管理和优化网络,我们…

SunFMEA冠翔(台山)工业FMEA培训会圆满结束

近日,SunFMEA软件成功在冠翔(台山)工业有限公司举办了为期三天的FMEA软件系统培训,通过重要知识讲解、现场答疑、演练互动、软件实操等环节,把培训氛围推向高潮。 ​ 此次培训分为DFMEA与PFMEA两部分,按照七…

LiveGBS流媒体平台GB/T28181常见问题-如何订阅设备状态在线离线状态redis订阅设备或是通道状态subscribe device操作及示例

LiveGBS如何订阅设备状态在线离线状态redis订阅设备或是通道状态subscribe device操作及示例 1、如何监听设备状态2、device订阅2.1、设备上线消息2.2、设备离线消息2.2、通道上线消息2.2、通道离线消息 3、订阅示例3.1、连接REDIS3.2、订阅device示例3.3、设备上线示例3.3.1、…

用DevOpsGPT 5分钟开发一个网页小游戏

前言: 今天教大家如何制作一个简易的网页小游戏,步骤很简单,我们只需要用到一个智能开发软件,即可自动帮助我们完成开发。话不多说,接下来,我们直接上教程! ​ 官网:KUAFUAI - AI 驱…

基于Matlab的视频人体动作识别,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

智过网:一级建造师必须两年考过吗?有效期多久?

在建筑行业,一级建造师的职业资格证书是众多从业者追求的目标。然而,获得这一证书并非易事,它要求考生不仅具备扎实的专业知识,还需要在限定的时间内完成所有科目的考试。那么,一级建造师是否必须在两年内考完所有科目…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(文本滑动选择器弹窗)

根据指定的选择范围创建文本选择器,展示在弹窗上。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用&#xf…

ArkTS编写的HarmonyOS原生聊天UI框架

简介 ChatUI,是一个ArkTS编写的HarmonyOS原生聊天UI框架,提供了开箱即用的聊天对话组件。 下载安装 ohpm install changwei/chatuiOpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包 接口和属性列表 接口列表 接…

day15-maven高级

1. 分模块设计与开发 步骤 创建 maven 模块 tlias-pojo&#xff0c;存放实体类。创建 maven 模块 tlias-utils&#xff0c;存放相关工具类。 <dependency><groupId>com.itheima</groupId><artifactId>tlias-pojo</artifactId><version>1.0…