Mysql——基础命令集合
目录
前期准备
先登录数据库
一、管理数据库
1.数据表结构解析
2.常用数据类型
3.适用所有类型的修饰符
4.使用数值型的修饰符
二、SQL语句
1.SQL语言分类
三、Mysql——Create,Show,Describe,Drop
1.创建数据库
2.查看数据库
3.切换数据库
4.创建数据表
5.查看数据表
6.显示表结构
7.删除数据表
8.删除数据库
四、Mysql——INSERT, DELETE, UPDATE,SELECT
1.插入表数据
编辑
2.查看插入数据
3.修改表数据
4.删除表中数据
五、临时表
1.创建表
编辑
2.插入数据(自增长)
编辑
3.退出数据库
六、清空表,删除表内所有数据
1.delete
2.truncate
3.drop、truncate、delete对比
1.drop
2.truncate
3.delete
4.小结
七、克隆表
方法一:
方法二:
八、修改表名
九、增加字段
十、修改字段名
11、删除字段
12、用户管理
1.使用明文创建用户
2.重命名用户
3.删除用户
4.忘记root密码解决方法
4.1修改配置文件
4.2修改当前root用户密码
5.修改其他用户密码
13、用户授权
1.授权
1.数据库授权
编辑
1.用qq用户登录
编辑
2.测试权限
编辑
2.远程登录授权
1.没有授权之前
编辑
2.授权
2.撤销权限
1.查看用户权限
2.撤销权限
编辑
3.权限列表
前期准备
-
先登录数据库
一、管理数据库
1.数据表结构解析
Field | 字段名称 |
Type | 数据类型 |
Null | 是否允许为空 |
Key | 主键 |
Default | 默认值 |
Extra | 扩展属性 |
Id | 例如:1 3 4 |
2.常用数据类型
int | 整型,定义整数类型的数据 |
float | 单精度浮点4字节32位;准确表示到小数点后6位 |
double | 双精度浮点8字节64位 |
char | 固定长度的字符类型 |
varchar | 可变长度的字符类型 |
text | 文本 |
image | 图片 |
decimal(5,2) | 5个有效长度数字,小数点后面有2位 |
主键是唯一的,但主键可以由多个字段构成
3.适用所有类型的修饰符
名称 | 含义 |
NULL | 数据列可包含NULL值,默认值 |
Not null | 数据列不允许包含NULL值,*为必填选项 |
default | 默认值 |
primary key | 主键,所有记录中此字段的值不能重复,且不能为NULL |
unique key | 唯一键,所有记录中此字段的值不能重复,但可以为NULL |
character set | name指定一个字符集 |
4.使用数值型的修饰符
名称 | 作用 |
AUTO_INCREMENT | 自动递增,适用于整数类型 |
UNSIGNED | 无符号 |
二、SQL语句
SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能
1.SQL语言分类
- DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
- DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
- DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
- DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)
三、Mysql——Create,Show,Describe,Drop
1.创建数据库
create datadase nj;
2.查看数据库
show databases;
3.切换数据库
use nj;
4.创建数据表
create table k3(id int not null,name char(10) not null,score decimal(4,2),passwd char(40) default'',primary key(id));
5.查看数据表
show tables;
6.显示表结构
describe k3;
describe nj.k3;
##########
describe 数据库名.表名;###显示表结构
7.删除数据表
drop table k3;
drop table nj.k3;
###########
drop table 库名.表名;###删除表
8.删除数据库
drop database nj(库名);
四、Mysql——INSERT, DELETE, UPDATE,SELECT
1.插入表数据
如果在mysql库中插入数据,会自动变成密文
insert into k3(id,name,score,passwd) values(1,'xzq',99,password('12345'));
password('12345'):密文
insert into k3 values(2,'hyb',80,11111);
11111:明文
insert into k3 values(3,'cyq',90,22222);
2.查看插入数据
select * from k3;
select * from k3 where name='hyb';
select * from k3 limit 2;
select * from k3 limit 3,2;
select * from k3\G;
3.修改表数据
update k3 set score='85' where name='hyb';
update k3 set score='92' where id='4';
4.删除表中数据
delete from k3;####删除k3表中所有数据,不会删除表
delete from k3 where name='clj';
五、临时表
临时表是隐形的
1.创建表
create temporary table k4(id int(4) zerofill primary key auto_increment,name varchar(15) not null,cardid int(18) not null unique key,hobby varchar(50));
2.插入数据(自增长)
insert into k4 values(1,'xzq',11111,'cg');
insert into k4 values(2,'hyb',22222,'sg');
insert into k4 (name,cardid,hobby) values('cyq',33333,'ych');
3.退出数据库
退出数据库之后,内容就没有了
六、清空表,删除表内所有数据
1.delete
delect:清空数据后,会有遗留(当表中数据有1、2、3时;删除1后,数据会从2开始)
2.truncate
truncate:不会有任何遗留(当表中数据有1、2、3时;删除1后,数据会从1开始)
3.drop、truncate、delete对比
1.drop
- 属于DDL
- 不可回滚(无法恢复)
- 不可带where
- 表内容和结构删除
- 删除速度快
2.truncate
- 属于DDL
- 不可回滚
- 不可带where
- 表内容删除
- 删除速度快
3.delete
- 属于DML
- 可回滚(可回复)
- 可带where
- 表结构在,表内容要看where执行的情况
- 删除速度慢,需要逐行删除
4.小结
- 不再需要一张表的时候用drop
- 想删除部分数据行的时候用delete,并且带上where子句
- 保留表而删除所有数据的时候用truncate
- 删除速度:drop>truncate> delete
- 安全性 delete 最好
七、克隆表
方法一:
数据和字段都有;用作迁移
create table 新表名 like 复制的表名;
复制格式,能够复制表的格式到新表,但是没有内容
insert into 新表名 select * from 复制的表名;
复制原表内容到新表
create table k5 like k3;
insert into k5 select * from k3;
方法二:
主键和唯一键会丢失,只能复制数据
create table k6(select * from k3);
八、修改表名
rename###修改表名
alter table k6 rename k8;
九、增加字段
add###扩展表结构字段
alter table k8 add address varchar(88) default 'cg';
十、修改字段名
change###修改表结构字段
alter table k8 change name cyq char(22) unique key;
11、删除字段
drop###删除 字段
alter table k8 drop address;
12、用户管理
1.使用明文创建用户
create user 'qq'@'localhost' identified by '123';
2.重命名用户
rename user 'qq'@'localhost' to 'xx'@'localhost';
select user,authentication_string,host from user;
3.删除用户
drop user 'xx'@'localhost';
4.忘记root密码解决方法
4.1修改配置文件
vim /etc/my.cnf
#添加此行
skip-grant-tablessystemctl restart mysqld.service
mysql -u root
4.2修改当前root用户密码
一直报错;解决方法:先刷新一下数据库
flush privileges;
###刷新数据库
set password for root@localhost=password('123');
###修改root密码
5.修改其他用户密码
set password for 'qq'@'localhost'=password('123');
13、用户授权
GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时, GRANT 语句用于修改用户信息。
1.授权
GRANT 权限列表 ON 数据库名/表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
- 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
- 数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符。
- 用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.48.%”等。
- IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。
1.数据库授权
grant select on nj.* to 'qq'@'localhost' identified by '123';
1.用qq用户登录
mysql -u qq -p123
2.测试权限
2.远程登录授权
1.没有授权之前
2.授权
grant all privileges on nj.* to 'qq'@'192.168.91.%' identified by '123';
3.Navicat Premium测试
2.撤销权限
1.查看用户权限
show grants for 'qq'@'192.168.91.%';
2.撤销权限
revoke all on nj.* from 'qq'@'192.168.91.%';
3.刷新看一下Navicat Premium
3.权限列表
权限 | 功能 |
select | 查询数据 |
insert | 插入数据 |
update | 更新数据 |
delete | 删除数据 |
create | 创建库、表 |
drop | 删除库、表 |
index | 建立索引 |
alter | 更改表属性 |
event | 事件 |
trigger on | 创建触发器 |
相关文章:

Mysql——基础命令集合
目录 前期准备 先登录数据库 一、管理数据库 1.数据表结构解析 2.常用数据类型 3.适用所有类型的修饰符 4.使用数值型的修饰符 二、SQL语句 1.SQL语言分类 三、Mysql——Create,Show,Describe,Drop 1.创建数据库 2.查看数据库 3.切换数据库 4.创建数据表 5.查看…...
记录一次流相关故障
记录一次流相关故障 1、项目中有个JSON字典文件,通过流的方式加载进来,写了个输入流转字符串的方法,idea开发环境下运行一切正常,打成jar或者war包运行时,只能加载出部分数据,一开始怀疑过运行内存分配过小…...

linux源配置:ubuntu、centos;lspci与lsmod命令区别
1、ubuntu源配置 1)先查电脑版本型号: lsb_release -c2)再编辑源更新,源要与上面型号对应 参考:https://midoq.github.io/2022/05/30/Ubuntu20-04%E6%9B%B4%E6%8D%A2%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E6%BA%90/ /etc/apt/…...

面试算法-88-反转链表
题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 解 class Solution {public ListNode reverseList(ListNode head) {if(head null || hea…...

如何在个人Windows电脑搭建Cloudreve云盘并实现无公网IP远程访问
文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了,各互联网大厂也纷纷加入战局&#…...

一文详解Rust中的字符串
有人可能会说,字符串这么简单还用介绍?但是很多人学习rust受到的第一个暴击就来自这浓眉大眼、看似毫无难度的字符串。 请看下面的例子。 fn main() {let my_name "World!";greet(my_name); }fn greet(name: String) {println!("Hello…...
Mysql中用户密码修改
1、命令行修改 请确保已使用root或其他拥有足够权限的用户登录MySQL,对于MySQL 5.7.6及以上版本或者MariaDB 10.1.20及以上版本。 ALTER USER ‘root’‘localhost’ IDENTIFIED BY ‘root’; 1、使用命令 mysql -uroot -p你的密码 连接到mysql管理工具 2、使用命…...

day14-SpringBoot 原理篇
一、配置优先级 SpringBoot 中支持三种格式的配置文件: 注意事项 虽然 springboot 支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置 (yml 是主流)。 配置文件优先级排名(从高到低&…...

ChatGPT论文指南|揭秘8大ChatGPT提示词研究技巧提升写作效率【建议收藏】
点击下方▼▼▼▼链接直达AIPaperPass ! AIPaperPass - AI论文写作指导平台 公众号原文▼▼▼▼: ChatGPT论文指南|揭秘8大ChatGPT提示词研究技巧提升写作效率【建议收藏】 目录 1.写作方法 2.方法设计 3.研究结果 4.讨论写作 5.总结结论 6.书…...

P1563 [NOIP2016 提高组] 玩具谜题
题目传送门 这道题实在是一道水题 话不多说,上代码 #include<iostream> #include<cstring> using namespace std; struct a{int io;//in朝里 out朝外 小人的朝向 string name;//小人的名字 int number;//角色编号 }a[100000]; int main(){int n, m…...
【数据库】数据库语言
1.4 数据库语言 数据库系统提供数据定义语言(DDL)来定义数据库模式,并提供数据操纵语言(DML)来表达数据库的查询和更新。 通过一系列特定的DDL语句来说明数据库系统所采用的存储结构和访问方式,这种特定的…...
javascript单例模式字面量定义的接口和匿名函数定义的接口;他们之间访问私有变量和私有函数之间的区别
javascript的单例模式:即只有一个实例; 模块模式是在单例模式上扩展而来的 //这种是字面量定义了单例对象的公共接口; 字面量对象调用私有变更和私有函数 var Book(function(){let name;checkBookfunction(value){namevalue;}return{setNam…...
啥是大语言模型LLM
引言: 在人工智能的世界里,有一种技术正迅速改变我们与机器交流的方式——这就是大语言模型LLM(Large Language Model)。它们像是拥有海量知识库的超级智能,能够理解和生成人类语言。那么,大语言模型LLM到底…...
vue3之路由导航故障
通常一个导航守卫函数中会发生这四件事之一: 1.通过调用 return false 中断了这次导航 2.通过返回一个新的位置,重定向到其他地方 (例如,return ‘/login’) 3.正常导航到指定路由 4.抛出了一个 Error 检测导航故障 可以使用vue-router提供的…...

Dr4g0n
信息收集 # nmap -sn 192.168.56.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-04 08:52 CST Nmap scan report for 192.168.56.2 Host is up (0.00012s latency). MAC Address: 00:50:56:FE:B1:6F (VMware) Nmap scan report …...
蓝桥杯每日一题:扫雷
题目来源:第十三届蓝桥杯软件赛省赛 B组 在一个 n n n 行 m m m 列 的方格图中有些位置有地雷, 另外一些位置为空 请为每个空位置标一个整数, 表示周围八个相邻的方格中有多少个地雷 输入 : 输入的第一行包含两个整数 n n n , m m m 第 2 行 到 第 n 1 n 1 n…...
net core API 后台系统操作日志的实现思路
net core API 后台系统操作日志的实现思路 系统操作日志的实现思路主要问题不在于写日志和表结构设计上。 主要问题在识别出哪些数据做了修改。并生成日志。 表中数据列众多,且要监控多个表。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。 如,用户表…...
ORACLE 知识整理
目录 一. 插入指定数量的数据二. 索引2.1 创建索引2.2 删除索引 三. 查询计划四. Oracle SQLPlus常用设置五. 增加删除字段 一. 插入指定数量的数据 ⏹当需要向表中插入若干测试数据的时候,可通过下面这种方式造数据 先从DUAL虚拟表中检索后造出10000条数据后&…...

业务服务:redisson
文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列(限制数据量)4. 延迟队列(延迟获取数据)5. 优先队列(…...
面试算法-100-零钱兑换
题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...

数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...