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.授权

3.Navicat Premium测试

2.撤销权限

1.查看用户权限

2.撤销权限

3.刷新看一下Navicat Premium

​编辑

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  setname指定一个字符集

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

  1. 属于DDL
  2. 不可回滚(无法恢复)
  3. 不可带where
  4. 表内容和结构删除
  5. 删除速度快

2.truncate

  1. 属于DDL
  2. 不可回滚
  3. 不可带where
  4. 表内容删除
  5. 删除速度快

3.delete

  1. 属于DML
  2. 可回滚(可回复)
  3. 可带where
  4. 表结构在,表内容要看where执行的情况
  5. 删除速度慢,需要逐行删除

4.小结

  1. 不再需要一张表的时候用drop
  2. 想删除部分数据行的时候用delete,并且带上where子句
  3. 保留表而删除所有数据的时候用truncate
  4. 删除速度:drop>truncate> delete
  5. 安全性 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创建触发器

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

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

相关文章

Flink RocksDB状态后端优化总结

截至当前,Flink 作业的状态后端仍然只有 Memory、FileSystem 和 RocksDB 三种可选,且 RocksDB 是状态数据量较大(GB 到 TB 级别)时的唯一选择。RocksDB 的性能发挥非常仰赖调优,如果全部采用默认配置,读写性…

风速预测(八)VMD-CNN-Transformer预测模型

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

Sora后时代文生视频的探索

一、写在前面 按常理,这里应该长篇大论地介绍一下Sora发布对各行业各方面产生的影响。不过,这类文章已经很多了,我们今天主要聊聊那些已经成熟的解决方案、那些已经可以“信手拈来”的成果,并以此为基础,看看Sora发布…

GB28181 —— 5、C++编写GB28181设备端,完成将USB摄像头视频实时转发至GB28181服务并可播放(附源码)

被测试的USB摄像头 效果 源码说明 主要功能模拟设备端,完成注册、注销、心跳等,同时当服务端下发指令播放视频时 设备端实时读取USB摄像头视频并通过OpenCV处理后实时转ps格式后封包rtp进行推送给服务端播放。 源码 /****@remark: pes头的封装,里面的具体数据的填写已经占…

远程传输大文件的软件 远程文件传输

在数字化时代,随着数据量的急剧增长,远程传输大文件变得越来越重要。无论是企业间的合作,还是个人的日常需求,高效、稳定、安全的远程文件传输都是关键。本文将介绍远程传输大文件的相关软件及其特点,帮助读者选择最适…

应急响应-Web2

应急响应-Web2 1.攻击者的IP地址(两个)? 192.168.126.135 192.168.126.129 通过phpstudy查看日志,发现192.168.126.135这个IP一直在404访问 , 并且在日志的最后几条一直在访问system.php ,从这可以推断 …

Simulink|局部遮荫下光伏组件多峰值PSO-MPPT控制

目录 主要内容 1.光伏电池工程数学模型的输出特性程序 2.普通扰动观察法进行MPPT 3.基于粒子群寻优的多峰输出特性 4.PSO_MPPT仿真模型 下载链接 主要内容 在实际的光伏发电系统中,由于环境多变等因素的影响,当局部出现被遮挡情况时光伏阵列…

Beamer模板——基于LaTeX制作学术PPT

Beamer模板——基于LaTeX制作学术PPT 介绍Beamer的基本使用安装和编译用于学术汇报的模板项目代码模板效果图 Beamer的高级特性动态效果分栏布局定理环境 介绍 在学术领域,演示文稿是展示和讨论研究成果的重要方式。传统的PowerPoint虽然方便,但在处理复…

音频和视频标签

音频用audio标签 controls表示控制栏 loop循环播放音频 autoplay自动播放&#xff08;浏览器基于隐私一般不支持&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Com…

k8s为什么删除了pod但是还是没删除掉的问题,deployment在影响

deployment 影响pod删除 一、问题所在二、解决问题 一、问题所在 执行&#xff1a;kubectl get pods --all-namespaces&#xff0c;获取dashboard相关的pod kubectl get pods --all-namespaces | grep dashboardkubectl delete pod dashboard-metrics-scraper-546d6779cb-4x6…

Python 深度学习第二版(GPT 重译)(二)

四、入门神经网络&#xff1a;分类和回归 本章涵盖 您的第一个真实世界机器学习工作流示例 处理矢量数据上的分类问题 处理矢量数据上的连续回归问题 本章旨在帮助您开始使用神经网络解决实际问题。您将巩固从第二章和第三章中获得的知识&#xff0c;并将所学应用于三个新…

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SAO-LSTM雪消融…

51单片机学习笔记8 中断系统及定时器

51单片机学习笔记8 中断系统及定时器 一、中断的概念二、51单片机的中断1. 51单片机的中断源2. 中断的优先级3. 中断结构4. 外部中断解读5. 定时器中断6. 串口中断 三、中断相关寄存器1. IE 中断允许寄存器2. TCON 中断请求标志3. IP 中断优先级 四、中断号五、代码实现按键 &a…

html5cssjs代码 029 CSS计数器

html5&css&js代码 029 CSS计数器 一、代码二、解释 该HTML代码定义了一个网页的结构和样式。在头部&#xff0c;通过CSS样式定义了body和h1-h2元素的样式。body元素的样式包括文本居中、计数器重置、字体颜色和背景颜色。h2元素的样式使用了CSS计数器来自动在标题前添加…

Web框架开发-Django模型层(数据库操作)

一、ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动ORM是“对象-关系-映…

stable diffusion webui ubuntu 安装

1.git clone 下来 GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UIStable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.https://github.com/AUTOMATIC1111/stable-diffus…

RAFT: Adapting Language Model to Domain Specific RAG

预备知识 RAG介绍一文搞懂大模型RAG应用&#xff08;附实践案例&#xff09; - 知乎 (zhihu.com) RAG的核心理解为“检索生成” 检索&#xff1a;者主要是利用向量数据库的高效存储和检索能力&#xff0c;召回目标知识&#xff1b; 生成&#xff1a;利用大模型和Prompt工程…

Redis的分片机制

Redis的分片机制 Redis是一个开源的内存数据结构存储系统&#xff0c;它支持键值对的存储方式。Redis的分片机制允许将数据在多个节点上进行分布式存储和处理&#xff0c;从而提高系统的性能和可扩展性。 Redis的分片机制是通过一致性哈希算法实现的。一致性哈希算法将所有的ke…

解决在命令行中输入py有效,输入python无效,输入python会跳转到microsoft store的问题| Bug

目录 如果你已经尝试过将python添加到系统变量在系统变量里把你自己的路径放到应用商店的路径之前删除windowsapps下的python.exe文件 如果你还未将python添加到系统变量没有python安装包且没有配置系统变量 如果你已经尝试过将python添加到系统变量 打开 运行&#xff0c;输入…

Idea 不能创建JDK1.8的spring boot项目

由于https://start.springboot.io/ 不支持JDK1.8&#xff0c;那么我们需要换idea的springboot创建源&#xff0c;需要换成 https://start.aliyun.com&#xff0c;这也是网上大部分教程说的&#xff0c;但是我这边会报这样的错误&#xff1a; Initialization failed for https:…