当前位置: 首页 > news >正文

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直接运行样例&#xff0c;于是自己新建了一个springboot项目&#xff0c;主要使用了下面的一些依赖用来运行官方样例 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache…...

PSRAM伪静态RAM芯片APS6404L

PSRAM伪静态RAM能结合SRAM和DRAM的优点&#xff0c;即容量大,又接口驱动简单&#xff0c;PSRAM接口和SRAM一样简单&#xff0c;驱动简单&#xff1b;而存储形式则和DRAM一样&#xff0c;容量远大于SRAM&#xff0c;介于SRAM和DRAM之间。 PSRAM厂家也有很多,以AP用的最多。最常…...

低级语言汇编真的各个面不如汇编吗?

今日话题&#xff0c;低级语言汇编真的各个面不如C语言吗&#xff1f;C语言因其可移植性、开发效率和可读性而在各领域广泛使用&#xff0c;市场占有率极高。然而&#xff0c;汇编语言在特定场景下仍然具有独特优势&#xff0c;稳固地占据一席之地。如果你对这方面感兴趣&#…...

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循环&#xff0c;吧edge index里面的位置填充1&#xff1a; imp…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...