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 的配置文件

设置免密登录

重启

不用输密码 直接登录

查询用户信息

密码在这里面

#设置密码修改

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

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

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

相关文章

算法与数据结构-回溯算法

文章目录 如何理解“回溯算法”?两个回溯算法的经典应用0-1 背包正则表达式 如何理解“回溯算法”? 笼统地讲,回溯算法很多时候都应用在“搜索”这类问题上。不过这里说的搜索,并不是狭义的指我们前面讲过的图的搜索算法&#xf…

MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上

Mysql实战-为什么索引要建立在被驱动表上 前面我们讲解了BTree的索引结构,也详细讲解下 left Join的底层驱动表 选择原理,那么今天我们来看看到底如何用以及如何建立索引和索引优化 开始之前我们先提一个问题, 为什么索引要建立在被驱动表上…

选择适合制造业的企业邮箱平台

自2010年成立以来,J公司已从一家小型有限责任公司发展成为全球领先的工业内窥镜研发、生产和销售企业。公司的产品制造采用国际先进技术和一流生产工艺,专业为客户提供定制解决方案,产品已广泛应用于锅检特检、机械制造、发电、石油、燃气、化…

一款成熟的文件外发审计管控系统,应该具备哪些价值?

在信息化高速发展的时代,电子文件泄密事件层出不穷,比如文本文档、图像、音频、视频、电子表格等,都是日常会接触到的文件类型。像制造业企业,会有比较多的上下游协作交流,外发的电子文档以明文的形式提供给合作伙伴&a…

当女朋友要求你用Python画一个粉粉的Hello Kitty的时候

先看效果图 完整代码 import math import turtle as t# 计算长度、角度 t1:画笔对象 r:半径 angle:扇形(圆形)的角度 def myarc(t1, r, angle):arc_length 2 * math.pi * r * angle / 360 # angle角度的扇形的弧长n int(arc_length / 3) 1 # 线段…

【K8S】二进制安装

常见的K8S安装部署方式 ●Minikube Minikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。 部署地址:https://kubernetes.io/docs/setup/minikube ●Kubeadm☆ Kubeadm也是一个工具,提…

编程实例:操作简单物流快运单据打印软件,可以定制打印格式

编程实例:操作简单物流快运单据打印软件,可以定制打印格式 打印格式可以定制。 编程系统化课程总目录及明细,零基础学编程视频教程,点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.20…

前端搭建名言生成器(内附源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ JS是什么?✨ 名言生成器✨ 页面搭建✨ 功能实现 ✨ 写在前面 在上周我们通过HTML、CSS实现了一个简单的‘我的相册‘页面的搭建,很多伙伴呢跟我说难道前端就只能做一些页面搭建的工作吗&#xff1…

Kubernetes包管理工具Helm简介及使用

文章目录 前言技术积累什么是HelmHelm的核心概念Helm可以解决哪些痛点Helm中文官方文档 Helm安装Helm安装nginx用例写在最后 前言 大家都知道K8S是云原生devops的一大利器,可以直接让我们的中间件、应用服务直接运行在云端,让我们可以只关心自身的业务功…

JavaScript从入门到精通系列第二十六篇:详解JavaScript中的Math对象

大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥连接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻J…

opencv c++ canny 实现 以及与halcon canny的对比

Opencv和C实现canny边缘检测_opencv边缘增强-CSDN博客 一、canny实现步骤 1、图像必须是单通道的,也就是说必须是灰度图像 2、图像进行高斯滤波,去掉噪点 3、sobel 算子过程的实现,计算x y方向 、梯度(用不到,但是…

vim

简介 vim是一款多模式的文本编辑器,vim里面还有很多子命令,来进行代码的编写操作 常用模式图 命令模式 光标移动 shif $ 光标定义到当前行的最右侧结尾 shift ^ 光标定义到当前行的最左侧开头 shift g 光标定位到文本最末尾…

如何有效使用蜂邮EDM和vba批量发送邮件?

蜂邮EDM和vba批量发送邮件的方法?怎么使用蜂邮EDM和vba代码群发电子邮件? 批量发送邮件已经成为一种不可或缺的沟通方式。蜂邮EDM和VBA是两个功能强大的工具,可以帮助您在邮件营销和业务通信中实现高效的批量发送邮件操作。接下来将介绍如何…

Revo Uninstaller Pro:终极卸载工具,彻底清除电脑痕迹

你是否曾为无法彻底卸载软件,残留大量无用文件而感到烦恼?是否曾因恶意软件难以清除,导致电脑运行缓慢?这些问题,Revo Uninstaller Pro都能帮你解决。 Revo Uninstaller Pro是一款专业的卸载工具,它不仅具…

低代码PAAS加速推进企业数字化转型

无论是“十四五”规划从国家层面提出的“加快数字化发展 建设数字中国”,还是后疫情时代企业自身的感受,数字化转型已成为必答题。当前 企业 业务场景化、线上趋势愈加明显,越来越多并发的数字化应用场景,而原有集中式架构扩展能力…

2024王道考研计算机组成原理——中央处理器

CPU的运算器其实就是进行固定的数据处理,后面讲的CPU主要侧重的是它的控制器功能 运算器的基本结构 左右两边都是16位,因为寄存器可能位于左右两端的一边(源/目的操作数) A、B两端都要接一堆线 通用寄存器 ALU都在运算器当中 从主存来的数据直接放到…

我在Vscode学OpenCV 处理图像

既然我们是面向Python的OpenCV(OpenCV for Python)那我们就必须要熟悉Numpy这个库,尤其是其中的数组的库,Python是没有数组的,唯有借助他库才有所实现想要的目的。 # 老三样库--事先导入 import numpy as np import c…

暴涨3倍!通过受感染 USB 窃密的事件愈发变多

2023 年上半年,Mandiant 观察到使用受感染 USB 驱动器窃取机密数据的事件至少增加了3倍。此前,Mandiant 披露了在菲律宾的一次攻击行动。本文将会介绍研究人员发现的两外两次基于 USB 驱动器的网络间谍行动。 CSDN大礼包:《黑客&网络安全…

财务数字化转型的切入点是什么?_光点科技

随着科技的不断进步,数字化转型已经成为各个行业追求的目标,财务领域也不例外。那么,财务数字化转型的切入点在哪里呢?如何确保转型的成功进行? 数据整合与管理 财务数据的准确性与及时性是财务管理的基石。数字化转型…

vue+vant图片压缩后上传

vuevant图片压缩后上传 vue文件写入 <template><div class"home"><van-field input-align"left"><template #input><van-uploaderv-model"fileList.file":after-read"afterRead":max-count"5":…