mysql 增删改查基础命令

数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎! )
数据库管理系统(DBMS) :实现对数据的有效组织,管理和存取的系统软件
mysgl
数据库是一个系统, 是一个人机系统,硬件, gs,数据库, DBMS和数据库的用户共同组成。
用户是通过DBMS(各种数据库软件)来对数据库进行操作。
数据库的分类:
mysgl: 关系型数据库。
redis: 非关系型数据库
Es: 索引型数据库
关系型数据库:存储数据的结构是一个二 维表格
表:行列
行:记录,用来描述一个对象信息
列:字段,用来描述对象的一个属性。
关系型数据库: mysgl(中小类型的数据并发请求) oracle(大型数据)
多表关联最多可以关联几张表?3张表
非关系,型数据库(redis):保存的不是一张表格,Key--->value键值对来保存数据,ky32=12
缓存的是数据库
MySQL的存储引擎: 版本5.5之前默认引擎是MYISAM,不支持事务和外键的存储引擎,适用读 写
5.6之后:默认的存储引擎是innodb,可以支持事务,外键,行基锁定的存储引擎,支持高并发行性能的应用
事务:在数据库当中,一个或者多个操作组成的数据操作的序列。
这些操作要么全部成功,失败一个就全部不执行。确保数据一致性和完整性。
数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎! )
数据库管理系统(DBMS) :实现对数据的有效组织,管理和存取的系统软件
事务的特点:
最小单位原子性是数据库最小工作单元,要么全部执行成功,要么全部不执行,只要有一个操作时间,整个执行的序列都会被回滚,完成的操作也会被撤销
一致性: 事务执行前后,数据库的完整性约束不能被破坏。只有在满足所有的约束条件情况下,事务才能被提交。
隔离性: 事务的执行是相互隔离。一个事物的执行不能受到其他执行事务的干扰。并发事务之间互相隔离。防止数据不一致的情况发生。
持久性: 事务一旦提交,他所做的所有修改都会保存在数据库中,即使系统崩溃,数据也不丢失,
特点总结:确保数库始终处于一致性的状态,数据的完整性
Mysql 的名词:
1、数据库: database
2、表: table 行: row 列: column
3 索引: index
4视图: view
5存储过程: procedure
6存储函数:function
7触发器: trigger
8用户: user
9权限: privilege
mysgl的语句的规范:
在数据库系统中,sgl不区分大小写,但是建议大写。语句不区分,但是表名是严格区分大小写。
sgl语句可以单行也可以多行书写,但是默认都以;结尾。
关键词不能跨行或者简写。
子语句通常位于度路航,便于编辑,提高可读性。
数据库的命名规则:
必须以字母开头,后面可以包含数据,特殊字符: #_ $
不要使用mysgl的保留字: table select
数据库名 表名 用户名严格区分大小写
数据库的字符类型:
Int : 4个字节,用来存储整数
Char: 固定长度的字符串,用来存储固定长度的字符串
Varchar: 可变长度的字符类型,存储可变长度的字符串(根据类型的长度写)
Float(m,d) : 单精度浮点。存储浮点数,m表示总位数,d表示小数位
double(m,d): 双精度浮点数,存储浮点数,M也是总位数, d,表示小数位。
text: 用于存储大文本数据,文档,或者长字符串。
image: 二进制存储图像,图片,多媒体。
Decimal (5,2): 用于存储固定精度的浮点数数,其中5表示总位数,2表示小数位
Data: 存储日期:yyyy-mm-dd
Datatime: 存储日志 yyyy-mm-dd hh:mm:ss
Timestamp:和datetime格式一致,可以自动的更新为当前的时间戳
Char无论是否定义了值,都会占用固定长度的字节大小,
varchar保存时长度是14 实际长度是5,就占用5个,加一个隐藏符算6个
都是字符串,一定要用单引号引起来
varchar比'char节省磁盘空间
但是varchaer读写速度比char慢
sql语句的分类
DDL :数据定义语言,用于创建数据的对象,创建库 表 索引
CREATE:创建
DROP:删除库 和表
ALTER:修改
DML:数据操作语言,对表中的数据进行管理
Select
Update 更新修改数据
Insert 添加
Delete 删除对表进行的操作
DQL语言:查询数据库语言
Select
DCL: 数据控制语言,设置或者更改数据库用户或者用户的权限
GRANT 赋予权限
REVOKE 取消权限
TCL:事务控制语句,管理数据库当中的事务
Commit 确实提交事务
ROLLBACK:事务提交之后无法回滚
Savepoint 保存点,可以回滚
#查看当前数据库的端口

#查看表的结构
![]()
#查询数据库

#使用mysql数据库

#查看当前数据库下有哪些表呢

#查看表的结构

#纵向查看表的结构

#新建数据库

#删除数据库

#创建表Ky32 以下几个列id 是整数型4位 指定属性不能为空,名字指定长度10属性不能为空,分数指定小数5位小数点后2位,密码长度48位,设定主键为id 不能为空和不能重复

create table ky32 (id int(4) not null,
name varchar(10) not null,
sroce decimal(5,2),
passwd char(48),
primary key(id));
Nul和空格的区别
null什么都没有,没有任何的内容描述
#desc 查看表的结构

#插入到Ky32韩文升,密码为空(添加字符串是要引起来)

#详细查询表的结构

#清空表名

#插入到ky32 分数 姓名 密码

#插入数据韩文升 分数 密码456(对列)

#加密处理

#update指定行列的数据进行修改 where指定唯一值(防止重复)

#delete删除表信息指定id 删除

#查询 指定id 进行查询

#查询第4行到7行(加一行)

#查询前2行 只跟一个数字表示前几行

#第二行开始走4个

#指定分数查询

#去重查询

#去重多条件查询

.#多条件查询

#修改表的名称

#添加表32 生日一列

#更新生日

#修改删除生日这列

#修改数据的库的类型
Alter table ky32 modify

扩展语句
##复制通过Like语法直接复制ky11的表结构,不能复制表里的数据
create table test like ky11;
##把ky32 表里面的数据复制到test里面,两个表的数据结构要一致
insert into test select * from ky32;
###创建一张表,test2 的数据从ky32来,表结构也是y32
create table test2 (select * from ky32);
推荐工作中清表用 truncate test1;
清空表的数据,而且会把表的结构重新建立,速度比delete 快,
语句解释:
if not exists ky32 -----这个表的不存在,才会创建
zerofill ---- 自动填充补齐位置
primary key -----当前表的主键,主键只能有一个,唯一,不能为空
auto_increment -----表示该字段可以自增长,默认从1开始,每条记录会自动递增1
unique key:---- 唯一个 ,不能重复,可以为空
default '地址不详' ---- 默认值如果不写,默认为地址不详
MYSQL的6种常见的约束方式:
1 主键约束,用于唯一标识表中的每一行,主键列的值必须是唯一而且不能为空,一个表只能有一个
2 外键约束,用于表与表之间的关系,一般是和另一张表的主键关联,保证数据引用的完整性,一个表可以有多个外键
3 非空约束, Not NULL 必须要有有一个值.
4 唯一约束性,unique ,确保列中的所有值都是唯一的类似于主键,可以为空,而且一个表可以有多个唯一约束
5 默认约束 default 在插入表数据时,如果没有定义值,会提供一个默认值
6 自增约束 每行自动生成一个标识,通常和主键一起使用
MySQL主键和外键在关系数据库中起着非常重要的作用。主键是一种用于唯一标识表中每一行数据的列,它可以确保表中的每一行数据都有一个唯一的标识符。而外键则是一种用于建立表与表之间关联的列,它可以确保数据的一致性和完整性。
在MySQL中,我们可以通过使用CREATE TABLE语句来创建表,并在其中定义主键和外键。例如,我们可以使用以下语句来创建一个包含主键和外键的表:
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
在上面的例子中,我们创建了一个名为orders的表,其中包含一个名为order_id的主键列和一个名为customer_id的外键列。外键列引用了另一个名为customers的表中的customer_id列,以建立orders表和customers表之间的关联。
总之,MySQL主键和外键是关系数据库中非常重要的概念,它们可以帮助我们建立表与表之间的关联,并确保数据的一致性和完整性。12
##也可以通过修改的方式添加外键

主表和从表
插入数据: 先插入主表,再插入从表
删除数据: 先删除主表数据,在删除从表
#先的desc 表的结构

##先删除表class的外键
alter table class drop FORIGN key class_ibfk_1;
![]()
##再删除索引
alter table class drop index card_id
![]()
##先更改类型,再删除主键
alter table class modify stud_id int(12);
alter table class drop primary key;

表一:
create table school (
de_id int(4) zerofill primary key auto_increment,
name VARCHAR(15) not null,
email varchar(45) not null UNIQUE,
money int(12) not null UNIQUE
);
表二:
create table cloud_ky32 (
id int(5) not null primary key auto_increment,
class_name varchar(15) not null,
de_id int(4) zerofill,
address varchar(50) default '地址不详',
phone int(11) not null unique,
foreign key(de_id) references school(de_id)
);

加密创建用户
select password(密码);
复制运行的结果

#内容输入到下方密码区域
create user ‘ky2’@'20.0.0.30' identified by '*6691484EA6B50DDDE1926A220DA01FA9E575C18A';
create user 'ky2'@'localhost' identified by '*6691484EA6B50DDDE1926A220DA01FA9E575C18A';
create user----创建用户
ky2-------------表示用户
localhost------表示新建的用户可以在哪些主机上登录网段,IP,主机名等
'ky2’@'%'------表示任意端
grant 赋权
grant all privileges on *.* to 'Ky2'@'localhost' identified by '123456';
grant ----赋权
all pricvileges ----- 所有权限
on kgc.*-----对指定的库进行赋权
to 'ky2'@'localhost'----赋权给某个用户
identified by '123456' 使用这个密码登录,创建用户时不写,密码为空
##使用 mysql -h 20.0.0.10 -u test -p 命令登录

#f赋予查的权限
grant select on kgc.* to 'test'@'20.0.0.10' IDENTIFIED by '123456';
#如何给一个用户赋权 多个权限
grant select,drop,insert on kgc.* to 'test'@‘20.0.0.10’ IDENTIFIED by '123456';

revoke权限
#删除用户的权限
revoke all privileges on kgc.* from 'test1'@'20.0.0.10';
#查询权限
show grants for 'test'@'20.0.0.10';
#刷新权限
flush privileges;
##如何移除权限
revoke drop on kgc.* from 'test1'@'20.0.0.10' ;

##如何删除所有权限
revoke all on kgc.* from ‘test1’@‘20.0.0.10’

其他用户设置:
#用户重命名
rename user 'test1'@'20.0.0.10' to 'guoqi'@'20.0.0.10';
#删除用户
drop user 'ky33'@'locahost';
#修改当前登录用户的密码
set password = password('abc123');
#修改其他用户的密码
set password for 'han'@'20.0.0.10' = password('abc123');
#如何找回密码
修改mysql 的配置文件

设置免密登录

重启

不用输密码 直接登录

查询用户信息


密码在这里面
#设置密码修改

#在去掉免密登录,后可以密码登录

相关文章:
mysql 增删改查基础命令
数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,但是删和改,要谨慎! ) 数据库管理系统(DBMS) :实现对数据的有效组织,管理和存取的系统软件 mysgl 数据库是一个系统, 是一个人机系统,硬件, gs,数据库…...
C# 使用 AES 加解密文件
[作者:张赐荣] 对称加密是一种加密技术,它使用相同的密钥来加密和解密数据。换句话说,加密者和解密者需要共享同一个密钥,才能进行通信。 对称加密的优点是速度快,效率高,适合大量数据的加密。对称加密的缺点是密钥的管…...
SSM培训报名管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
一、源码特点 SSM 培训报名管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主 要采用B/S模式开…...
锁表后引发的几种删除方式与不同的扩展
在开发过程可能会遇到一些特殊场景,诸如我想删除某表,但是无法删除,去找原因发现是发生了锁表, 锁表指的是在执行一个事务时,该事务获取了一个锁并保持其锁定状态,直到事务完成或手动释放锁,导…...
20.2 OpenSSL 非对称RSA加解密算法
RSA算法是一种非对称加密算法,由三位数学家Rivest、Shamir和Adleman共同发明,以他们三人的名字首字母命名。RSA算法的安全性基于大数分解问题,即对于一个非常大的合数,将其分解为两个质数的乘积是非常困难的。 RSA算法是一种常用…...
MySQL安装『适用于 CentOS 7』
✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 腾讯云远程服务器 🎁软件版本: MySQL 5.7.44 文章目录 1.MySQL 的清理与安装1.1查看是否存在 MySQL 服务1.2.卸载原有服务1.…...
国家数据局成立,公共数据如何掘金?
国家数据局揭牌:引领新时代数据要素管理和开发的重大举措 筹建7个多月后,10月25日,国家数据局正式揭牌。根据《党和国家机构改革方案》,国家数据局负责协调推进数据基础制度建设,统筹数据资源整合共享和开发利用&…...
PostgreSQL基于Patroni方案的高可用启动流程分析
什么是Patroni 在很多生产环境中,分布式数据库以高可用性、数据分布性、负载均衡等特性,被用户广泛应用。而作为高可用数据库的解决方案——Patroni,是专门为PostgreSQL数据库设计的,一款以Python语言实现的高可用架构模板。该架…...
opencv+yolov8实现监控画面报警功能
项目背景 最近停在门前的车被人开走了,虽然有监控,但是看监控太麻烦了,于是想着框选一个区域用yolov8直接检测闯入到这个区域的所有目标,这样1ms一帧,很快就可以跑完一天的视频 用到的技术 COpenCVYolov8 OnnxRunt…...
基于深度学习的单图像人群计数研究:网络设计、损失函数和监控信号
摘要 https://arxiv.org/pdf/2012.15685v2.pdf 单图像人群计数是一个具有挑战性的计算机视觉问题,在公共安全、城市规划、交通管理等领域有着广泛的应用。近年来,随着深度学习技术的发展,人群计数引起了广泛的关注并取得了巨大的成功。通过系统地回顾和总结2015年以来基于深…...
C++递归实现验证⼆叉搜索树
C递归实现验证⼆叉搜索树 文章目录 C递归实现验证⼆叉搜索树题目链接题目描述解题思路C算法代码: 题目链接 98. 验证二叉搜索树 - 力扣(LeetCode) 题目描述 给你⼀个⼆叉树的根节点root,判断其是否是⼀个有效的⼆叉搜索树。 有效⼆…...
♥ uniapp 环境搭建
♥ uniapp 环境搭建 开发uniapp需要用到的工具有两个: 1、用到的平台和地址: 需要了解的几个平台以及地址: (1)微信公众平台 https://mp.weixin.qq.com/ (2)微信开发文档 https://develo…...
京东商品链接获取京东商品评论数据(用 Python实现京东商品评论信息抓取),京东商品评论API接口,京东API接口
在网页抓取方面,可以使用 Python、Java 等编程语言编写程序,通过模拟 HTTP 请求,获取京东多网站上的商品详情页面评论内容。在数据提取方面,可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#…...
docker容器中安装ROS1/ROS2(不用配任何环境,10分钟搞定)
默认电脑已经安装了docker,没安装看这篇文章Docker 安装 (完整详细版) ROS和docker各种结合看官方文档 dockerTutorials 在OSRF中拉取想要的 ROS 版本 docker 镜像 网址为 拉取命令在这里 我是安装noetic版本,因为这个兼容比较多现有的工程 docker pul…...
如何解决ssh登录报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
原因: 当两个设备第一次进行链接时,会在~/.ssh/konwn_hosts 中将被连接设备的公钥信息进行保存,后续再次链接时OpenSSH会核对公钥来进行一个简单的验证 然而有时候被链接的那台设备系统被重装、IP 冲突等原因,会导致公钥信息没…...
Mysql5.7安装配置详细图文教程(msi版本)
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
运行dl4j-examples的主要一些依赖
直接从git获取dl4j-examples后本地无法用IJ直接运行样例,于是自己新建了一个springboot项目,主要使用了下面的一些依赖用来运行官方样例 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache…...
PSRAM伪静态RAM芯片APS6404L
PSRAM伪静态RAM能结合SRAM和DRAM的优点,即容量大,又接口驱动简单,PSRAM接口和SRAM一样简单,驱动简单;而存储形式则和DRAM一样,容量远大于SRAM,介于SRAM和DRAM之间。 PSRAM厂家也有很多,以AP用的最多。最常…...
低级语言汇编真的各个面不如汇编吗?
今日话题,低级语言汇编真的各个面不如C语言吗?C语言因其可移植性、开发效率和可读性而在各领域广泛使用,市场占有率极高。然而,汇编语言在特定场景下仍然具有独特优势,稳固地占据一席之地。如果你对这方面感兴趣&#…...
PyG edge index 转换回 邻接矩阵
PyG的edge index形式是 [ ( n o d e 1 , n o d e 2 ) , ( n o d e 1 , n o d e 3 ) . . . ] [(node_1,node_2), (node_1, node_3)...] [(node1,node2),(node1,node3)...]这种edge pair。 naive 直接for循环,吧edge index里面的位置填充1: imp…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

