MySQL数据库增删改查及安全值守操作

2023-11-13

我在本篇文章中整理了一些MySQL数据库、表、字段的增删改查和安全值守操作的常用语句,以便同学们保存和快捷查询,详细如下:

(1)用户的查看、创建、删除
-- 以username为Superman,password为123123为例

①用户的创建
create user Superman@127.0.0.1 identified by '123123';

②用户的删除
drop user Superman@127.0.0.1;

③查看所有用户
use mysql;
select user,host from user;

④查看当前用户
select user();

(2)用户权限的查看、赋予、剥夺
①查看用户权限
show grants for Superman@127.0.0.1;

②用户权限赋予
grant all privileges on student.* to Superman@127.0.0.1 identified by '123123' with grant option;
-- student.*表示数据库student的所有表,grant为赋权,with option表示该用户也可以给其他用户授权

③用户权限剥夺
revoke all privileges on student.* from Superman@127.0.0.1;

(3)库的增删查
-- 以student为数据库名为例
①数据库的创建
create database if not exists student;

②数据库的使用/查看
use student;
show tables;

③数据库的删除
drop database student;

(4)表的增删改查
-- 以stuinfo为表名为例
①表的创建
create table if not EXISTS `stuinfo` (
`sid` int(11) UNSIGNED PRIMARY key auto_increment,
`sname` varchar(20) not null,
`age` int,
`sex` enum('m','f') DEFAULT 'm',
`birth` datetime not null,
`email` varchar(50),
`addr` VARCHAR(50),
`tel` varchar(11)
)

②查看表的结构
desc stuinfo;

③查看表的内容
select * from stuinfo;

④删除一张表
drop table stuinfo;

⑤删除表中的内容
delete from stuinfo;

⑥向表中添加数据
insert into stuinfo (sname,age,sex,birth,email,addr,tel,bz) values('擎天柱',300,'m','1990-01-01','qingtianzhu@qq.com','赛博坦','13012344321','汽车人领袖');

⑦修改表中的数据
update stuinfo set sname='大黄蜂' where sname='擎天柱';

(5)字段的增删改
①向表中增加一个字段(一列)
alter table stuinfo add beizhu varchar(50) comment '备注';

②删除表中的一个字段(一列)
alter table stuinfo drop beizhu;

③修改字段的名称
alter table stuinfo change beizhu bz varchar(20);

④修改字段的属性
alter table stuinfo modify bz varchar(50);

(6)元数据查询
①查看服务器版本信息
select version();

select @@version;

②查看当前数据库名
select database();

③查看当前用户名
select user();

④查看服务器状态
show status;

⑤查看服务器配置变量
show variables;

⑥查看数据文件存放位置
show global variables like '%datadir%';

⑦查看数据库的路径
select @@datadir;

⑧查看mysql的安装路径
select @@basedir;


(7)表中的数据查询
①查询所有姓名为“大”开头的学生信息
select * from stuinfo where sname like '大%';

②查询年龄大于20(含20)的学生信息
select *from stuinfo where age>=20;

③查询所有住在赛博坦或地球的学生信息
select * from stuinfo where addr='赛博坦' or addr='地球';

select * from stuinfo where addr in('赛博坦','地球');

④查询没有填写邮箱信息的学生
select * from stuinfo where email is null;

⑤Union联合查询(多条查询结果集,可实现跨表查询)
-- 要求结果集中的列数一致
-- 取出的最终列名,以第一条查询语句为准
-- union查询默认去重,如果不想去重,则使用union all
use student;
create table temp1(
uid int primary key auto_increment,
uname varchar(20) not null
)

insert into temp1(uname) values('横炮'),('铁皮'),('救护车');

create table temp2(
eid int primary key auto_increment,
ename varchar(20) not NULL
)

insert into temp2(ename) values('汽车人'),('汽车人'),('汽车人');

select * from temp1 union select * from temp2;
select * from temp1 union select 1,2;

⑥把查询结果放到同一行返回
select sid,group_concat(addr,bz) from stuinfo group by sid;

select sid as bianhao,group_concat(addr,bz) as xinxi from stuinfo group by sid;

⑦从m行开始,返回m+n行
select * from stuinfo limit 0,1;

⑧分组查询(聚合查询)
group_concat()函数

(8)常用字符串函数
①将字符串全部转换为小写字母返回
select lower('ABcd');

②将字符串全部转换为大写字母返回
select upper('ABcd');

③将多个字符串首尾相连后返回
select concat('123','abc');

④将多个字符串用指定连接符首尾相连后返回
select concat_ws(':','123','abc');

⑤从字符串的某个指定位置开始截取字符串并返回
select substr('flash',2,3);

select mid('flash',2,3);

⑥返回字符串的存储长度
select length('flash');

⑦返回字符串的字符个数
select char_length('flash');

⑧返回ASCII码值
select ord('1');

⑨睡眠指定描述
select sleep(4);
 

希望对同学们有所帮助 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库增删改查及安全值守操作 的相关文章

  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 在 Oracle 中如何将多行组合成逗号分隔的列表? [复制]

    这个问题在这里已经有答案了 我有一个简单的查询 select from countries 结果如下 country name Albania Andorra Antigua 我想在一行中返回结果 如下所示 Albania Andorra
  • 如何对字段数据进行分组?

    我有 sql 查询来显示数据 SELECT artikel foto naam fotografer id fotografer name fotografer customer first name customer last name
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI
  • 评估 SQLite 中的连续行对

    我的 SQLite 表中有数据 如下所示 user id event date 1000001 2008 01 01 1000001 2008 03 13 1000001 2008 07 04 1000002 2007 01 06 1000
  • 如何编写一个 SQL 查询来计算每月和每年的行数?

    有谁知道如何查询 vbulletin 数据库来生成每月 每年注册数量的报告 以获得如下结果 MM YYYY Count 01 2001 10 02 2001 12 感谢下面的这些答案 我的最终版本有效如下 SELECT COUNT as R
  • Mysql UUID_SHORT() 与 UUID() 相当吗

    如果您愿意的话 请快速提出问题或意见 我需要为数据库表生成一些 UUID 自动递增密钥不会减少它 因为我还需要密钥在数据库和系统中保持唯一 UUID 工作正常 但其输出对于行将导出到的某些系统来说太长 UUID SHORT 做得很好 我已经
  • mysqli_num_rows 无法正常工作

    I have an admin panel in my website in which the admin creates new pages he provides the page name and then the spaces o
  • 哪些mysql设置影响LOAD DATA INFILE的速度?

    让我来介绍一下情况 我们尝试将适量的行数 大约每天 10 20M 插入到宽度适中的 MyISAM 表中 Field Type Null Key Default Extra blah1 varchar 255 NO PRI blah2 var
  • Postgres LEFT JOIN 与 WHERE 条件

    我需要使用 where 条件左连接两个表 Table time table id rid start date end date 1 2 2017 07 01 00 00 00 2018 11 01 00 00 00 2 5 2017 01
  • 仅使用 SQL 进行 Base 36 到 Base 10 的转换

    出现了一种情况 我需要在 SQL 语句的上下文中执行以 36 为基数到以 10 为基数的转换 Oracle 9 或 Oracle 10 中似乎没有内置任何内容来解决此类问题 我的 Google Fu 和 AskTom 建议创建一个 pl s
  • 即使更新语句没有影响任何行,ExecuteNonQuery 返回 1

    我在这里面临一个非常奇怪的问题 我的 DAL 是使用编写的OdbcConnection对象并且工作完美 然而 我必须尊重一些要求 因此必须移动系统来使用MySqlConnection 你会说 不应该有任何问题 但是 现在有一点误解 当我执行
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • 如何在 kubernetes 上使多个 pod 相互通信

    我是 Kubernetes 新手 我正在尝试通过 microk8s 将应用程序部署到 Kubernetes 该应用程序包含Python Flask后端 Angular前端 Redis和MySQL数据库 我将映像部署在多个 Pod 中 状态显
  • 在sql server中生成下一个序列号

    我需要生成一个序列号用作主键 在遗留系统中 我想知道以下解决方案在竞争条件下是否会遇到并发问题 CREATE TABLE SequenceGenerator Sequence INT INSERT INTO SequenceGenerato
  • 有什么办法可以自动生成UML图吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 MySQL 数据库 我想生成它的关系图 有没有一个工具可以连接到数据库并自动为我生成它 是的
  • 使用 impala 按范围连接表的有效方法

    我第一个有下表 Range 包括值范围和附加列 row From To Country 1 1200 1500 2 2200 2700 3 1700 1900 4 2100 2150 The From and Toare bigint并且是
  • 在 MySQL 连接字符串中指定密码

    我使用 MySQL 作为 DB 和 Yeoman 生成器创建了 ExpressJS MVC 应用程序 并在config js我想更改 MySQL 连接字符串 但我不知道在字符串中指定密码 我的字符串是mysql root localhost
  • 使用整数数组设置外键

    我对使用 SQL 还很陌生 但我在 Stack Overflow 上遇到过这个关于使用标签的问题 推荐用于标记或标记的 SQL 数据库设计 https stackoverflow com questions 20856 recommende

随机推荐

  • 属性layout_weight不起作用的解决方法

    在使用线性布局的时候 使用layout weight属性来达到控件自适应屏幕宽度的效果 但是有的时候这个属性没有起作用 这个时候就需要仔细检查一下 1 只有LinearLayout标签支持 2 设置layout weight时要根据布局的方
  • SSM实战项目——Java高并发秒杀API

    SSM实战项目 Java高并发秒杀API 项目截图 秒杀列表 秒杀详情页 错误提示 开始秒杀 秒杀成功 重复秒杀 秒杀倒计时 秒杀结束 项目介绍 何为秒杀 所谓 秒杀 就是网络卖家发布一些超低价格的商品 所有买家在同一时间网上抢购的一种销售
  • c++智能指针

    智能指针是一种用于管理动态分配的内存的工具 它可以自动地不再需要时释放内存 智能指针目的 避免内存泄漏和释放已经释放的内存 用法 会在堆上分配内存 并在不再需要时自动释放 通常会跟踪指向堆上对象的引用计数 并在引用计数为0时自动释放内存
  • linux软连接显示broken link

    解决方案 sudo ln s 源文件 目标文件 注 两者必须为绝对路径
  • 关于测试用例

    测试专栏 软件测试的基本概念 关于软件测试 作为一个测试人员 这些基础知识必不可少 目录 一 测试用例的基本要素 1 什么是测试用例 2 为什么软件测试人员要写测试用例 二 测试用例的设计方法 1 基于需求设计测试用例 2 具体设计测试用例
  • docker制作镜像,导出导入本地镜像等初级指南

    首先安装 docker 1 prepare 更改 yum 源加快安装环境 添加下面 yum 源 docker ce stable name Docker CE Stable basearch baseurl https mirrors al
  • 当绘图遇上Caché之元数据代理

    很久以前到沈阳实习的时候还一个个问度娘C 画图 画了电路图绘制软件的毕业设计 雪花屏保等等 搞LIS软件后绘制各种仪器图 对C 画笔 画字符串 画线 画圆等等耳熟能详 然而却碰到一个问题 我们的仪器大部分是盒子用数据库M连接的 如果盒子仪器
  • micropython RX8025T 驱动简单演示

    我就知道可能八百年会有一位大哥来找这个驱动 让我来猜猜为啥用这个 嫌一般的RTC不够精准是吧 想用个带温度补偿的试试 代码拿去 其实巨简单的 没啥好说的 而且只有基本功能 from micropython import const impo
  • 容器的docker-compose怎样写agent.jar配置

    在 Docker Compose 文件中配置 Java Agent 例如 agent jar 的方式与之前的环境变量类似 您可以使用 environment 字段来设置 Java 环境变量 包括 javaagent 参数来指定 Java A
  • 【C++】string使用

    文章目录 1 为什么要学习string类 2 标准库中的string类 2 1了解string类 2 2string类常用的接口 2 2 1 构造和析构相关 2 2 2 迭代器 2 2 3 容量相关 2 2 4 元素访问 元素遍历 元素访问
  • 生命在于学习——未授权访问漏洞

    声明 本篇文章只是用于记载学习笔记 学习交流 不可用作其他违规用途 一 简介 未授权访问可以理解为需要安全配置或权限认证的地址 授权页面存在缺陷 导致其他用户可以直接访问 从而引发重要权限可被操作 数据库 网站目录等敏感信息泄露 目前主要存
  • 静态对象(全局+局部+静态对象成员)

    所有的静态对象 全局对象都于静态存储区分配 关于全局对象 是在main 函数执行前就分配好了的 其实 在main 函数中的显示代码执行之前 会调用一个由编译器生成的 main 函数 而 main 函数会进行所有全局对象的的构造及初始化工作
  • C++ auto遍历无法直接修改map的数据

    对于std map 当使用for auto it myMap 这种范围循环形式时 实际上是使用了const迭代器进行遍历 这意味着你无法通过该迭代器直接修改std map中的值 范围循环使用的是容器的begin 和end 函数返回的迭代器
  • 【数据结构--链表】反转链表

    题目描述 代码实现 Definition for singly linked list struct ListNode int val struct ListNode next struct ListNode reverseList str
  • JavaScript如何调用摄像头

    如何使用浏览器调用摄像头 在JavaScript中使用浏览器调用摄像头会使用到以下方法 navigator getUserMedia video true audio false success error 参数1 是一个对象包含摄像头和麦
  • 二叉树的重构

    二叉树的重构是指给定二叉树的先序遍历 中序遍历 后序遍历中的任意两者 要求恢复二叉树的结构 其中 除非二叉树是真二叉树 即任一节点要么具有两个子节点 要么没有子节点 否则 必须要有中序遍历才能恢复二叉树的结构 先序遍历 中序遍历 后序遍历
  • 寒假培训——简单搜索

    A 捉迷藏1 dfs bfs简单搜索 题目 Title A 捉迷藏1 Time Limit 1s Description 王吉吉和袁坑坑在一个n m大小的房间里捉迷藏 王吉吉躲起来了 现在袁坑坑要去抓他 地图中 W 代表王吉吉 Y 代表袁坑
  • STM32速成笔记—DMA

    文章目录 一 什么是DMA 二 DMA有什么作用 三 STM32的DMA 3 1 DMA请求 3 2 DMA通道 3 3 仲裁器 四 DMA配置 4 1 DMA配置步骤 4 2 DMA结构体成员 五 DMA配置程序 5 1 ADC1初始化程
  • 4行代码计算9999的阶乘

    转载自 http blog csdn net liangbch article details 3230428 本文来源于csdn2001年的一个帖子 题目是有谁可以用四行代码求出1000000的阶乘 见 http topic csdn n
  • MySQL数据库增删改查及安全值守操作

    我在本篇文章中整理了一些MySQL数据库 表 字段的增删改查和安全值守操作的常用语句 以便同学们保存和快捷查询 详细如下 1 用户的查看 创建 删除 以username为Superman password为123123为例 用户的创建cre