MySql学习(二)…(⊙_⊙;)…

如何快速深入学习Mysql 学习MySQL需要系统性地掌握基础、进阶到高级的知识,并结合实战项目加深理解。坚持每天编码练习,结合理论分析,2-3周即可显著提升MySQL水平! 阅读详情

排序和分页

1. 排序查询    * 语法:order by 子句        
	* order by 排序字段1 排序方式1 ,  排序字段2 排序方式2...
	
    * 排序方式:        
   		* asc:升序,默认的。        
    	* desc:降序。
    * 注意:       
    	* 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。       
2. 分页查询    
	1. 语法:limit 开始的索引,每页查询的条数;    
	2. 公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数        
	-- 若每页显示3条记录 
	
     select * from student limit 0,3; -- 第1页              

	 select * from student limit 3,3; -- 第2页               

	 select * from student limit 6,3; -- 第3页
	 
	4. limit 是一个MySQL"方言"

约束

* 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。  
* 分类:    
	1. 主键约束:primary key    
 	2. 非空约束:not null    
 	3. 唯一约束:unique   
 	4. 外键约束:foreign key
* 非空约束:not null,值不能为null    
 	1. 创建表时添加约束        
 	create table stu(            
 		id INT,            
 		name varchar(20) not null -- name为非空        
 	);    
 	2. 创建表完后,添加非空约束        
 		alter table stu modify name varchar(20) not null;
    3. 删除name的非空约束       
        alter table stu modify name varchar(20);
一、主键约束:primary key。
1. 注意:   
	1. 含义:非空且唯一   
	2. 一张表只能有一个字段为主键   
	3. 主键就是表中记录的唯一标识 
2. 在创建表时,添加主键约束   
	create table stu(    
		id int primary key,-- 给id添加主键约束    
		name varchar(20)   
	); 
3. 删除主键   
	-- 错误 alter table stu modify id int ;   
	alter table stu drop primary key; 
4. 创建完表后,添加主键   
	alter table stu modify id int primary key;
二、 自动增长:   
    1. 概念:如果某一列是数值类型的,使用 auto_increment 可以来完成值得自动增长   
    2. 在创建表时,添加主键约束,并且完成主键自增长      
		create table stu(      
			id int primary key auto_increment,-- 给id添加主键约束     
			name varchar(20)      
		);
    3. 删除自动增长        
     	alter table stu modify id int;    
    4. 添加自动增长          
     	alter table stu modify id int auto_increment;
三、外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。    
	1. 在创建表时,可以添加外键        
		* 语法:            
		 	create table 表名(                
		 		....                
		 		外键列                
		 		constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)           
		 	);
	2. 删除外键        
		alter table 表名 drop foreign key 外键名称;
	3. 创建表之后,添加外键        
		alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称 (主表列名称);
四、 级联操作            
	1. 添加级联操作                
		语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称                         
				FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE  ;            							
	2. 分类:                
		1. 级联更新:ON UPDATE CASCADE                 
		2. 级联删除:ON DELETE CASCADE

数据库的备份和还原

命令行:    
	* 语法:        
	 * 备份: mysqldump -u用户名 -p密码 数据库名称 > 保存的路径        
	 * 还原:            
	 	1. 登录数据库            
	 	2. 创建数据库            
	 	3. 使用数据库            
	 	4. 执行文件。source 文件路径

子查询

概念:查询中嵌套查询,称嵌套查询为子查询
	-- 查询工资最高的员工信息
	-- 1 查询最高的工资是多少 
	select max(salary) from emp; -- 9000
	
	-- 2 查询员工信息,并且工资等于9000的
	select  * from emp where salary = 9000;
	
	-- 一条sql就完成上面的操作
	select * from emp where salary =(select max(salary) from emp);

子查询的不同情况
	1.子查询的结果是**单行单列**的:
		子查询可以作为条件,使用运算符去判断 > >= < <= =
		
		-- 查询员工工资小于平均工资的人
		select * from emp where salary < (select avg(salary) from emp);
	2.子查询的结果是**多行单列**的:
		子查询可以作为条件,使用运算符 in 来判断
		-- 查询 财务部 和 市场部 所有员工信息
		select id from dept where name='财务部' or name='市场部';
		select * from dept where dept_id = 3 or dept_id = 2;
		-- 子查询
		select * from emp where dept_id in(select id from dept where name='财务部' or name='市场部');
	
	3.子查询的结果是多行多列的:
		子查询可以作为一张虚拟表参与查询
		-- 查询员工入职日期是2011-11-11之后的员工信息和部门信息
		-- 子查询
		select * from dept t1,(select * from emp where emp.join_date > '2011-11-11') t2 where t1.id=t2.dept_no;
		
		-- 普通内连接
		select * from emp t1,dept t2 where t1.dept_id = t2.id and t1.join_date > '2011-11-11'

事务

**一、 事务的基本介绍**
	**1.概念**
	如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
	**2.操作**
		1.开启事务:start transaction;
		2.回滚:rollback;
		3.提交:commit;
	**3.MySql数据库中事务默认自动提交**
		事务提交的两种方式
			自动提交
				mysql就是自动提交的
				一条DML(增删改)语句会自动提交一次事务
			手动提交
				Oracle数据库默认是手动提交事务
				需要先开启事务,再提交
		修改事务的默认提交方式:
			查看事务的默认提交方式:select @@autocommit;-- 1 代表自动提交  0 代表手动提交
			修改默认提交方式:set @@autocommit=0;
二、事务的四大特征:
	1.原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败
	2.持久性:当事务提交或回滚后,数据库会持久化的保存数据
	3.隔离性:多个事务之间,相互独立
	4.一致性:事务操作前后,数据总量不变
三、事务的隔离级别
	概念:多个事物之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题:
	存在问题:
		1.脏读:一个事务,读取到另一个事务中没有提交的数据
		2.不可重复读(虚读):在同一个事务中,两次读到的数据不一样。
		3.幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。
	隔离级别:
		1.read uncommitted:读未提交
			产生问题:脏读、不可重复读、幻读
		2.read committed:读已提交(Oracle)
			产生问题:不可重复读,幻读
		3.repeatable read;
			产生问题:幻读
		4.serializable:串行化
			可以解决所有的问题
		**注意**隔离级别从小到大安全性越来越高,但是效率越来越低
		数据库查询隔离级别:
			select @@transaction_isolation;
		数据库设置隔离级别:
			set session transaction isolation level 级别字符串;
			set global transaction  isolation level 级别字符串;

DCL

SQL分类:
1.DDL:操作数据库和表
2.DML:增删改表中数据
3.DQL:查询表中数据
4.DCL:管理用户,授权
DBA:数据库管理员

DCL:管理用户,授权
1.管理用户

		添加用户
			create user '用户名'@'主机名' identified by '密码';
		删除用户
			drop user '用户名'@'主机名';
		修改用户密码
			alter user '用户名'@'主机名' identified by '密码';
		查询用户
			1.切换到mysql数据库
			user mysql;
			2.查询user表
			select * from user;	

2.权限管理

	查询权限
		show grants for '用户名'@'主机名';
	授予权限
		grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
	撤销权限
		revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

存储过程

  1. 什么是存储过程
    存储过程,带有逻辑的sql语句,之前的sql没有条件判断,没有循环,存储过程带上流程控制语句(if while)
  2. 存储过程特点
    1)执行效率非常快!存储过程是在数据库的服务器端执行的。
    2)移植性很差!不同数据库的存储过程是不能移植。

触发器

当操作了某张表时,希望同时触发一些动作/行为,可以使用触发器完成

你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号 功能强大 管理便捷—给您全新的路由体验 一键更换指定线路or批量更换所有IP/MAC/SSID 自定义走本地网络策略的分流功能 设备批发价、不限制拨号账号服务商 强大的单设备/多设备IP去重功能 批量导入、管理一号通线路 一键任意切换5G_WiFi(推荐)/2.4G_WiFi(建议不用) 设备支持PPTP/L2TP/SSTP/openVP.N等协议 独家支持openVPN,适用于网络受限用户 支持自行接入AP和交换机扩容 一键打开/关闭所有虚拟WiFi 一键隐藏/显示设备WiFi... 阅读详情

相关推荐

第十二节:C#工业控制编程基础--输出正弦波实验

第十二节:基于c#使用开发板输出正弦波实验 文章目录第十二节:基于c#使用开发板输出正弦波实验一、实验目的:了解采集卡DA相关函数的使用。二、实验内容:利用C#生成正弦波,然后用采集卡DA输出。三、实验步骤:1.打开Visual Studio 2013,新建窗体应用程序项目,配置好板卡dll文件。2.在窗体中放入控件,对控件进行布局排版,并修改他们的Name属性和Text属性。3.在Chart控件内选择Spline型图表,如图2。4.进入编程区域,在public partial class Form1 :

weixin_49237052的博客 2296

MySQL基础(1) 分页查询 函数 过程

delimiter 结束表示create procedure 存储过程名()BEGIN程序体end;结束表示例1:选择$$作为结束表示 过程:把值插入表中VALUESNULL,'20',NOW());END $$

xjdkxnhcoskxbco的博客 6095

Dify学习笔记-知识库(六)

Dify学习笔记-知识库

大数据知识梳理 2万+

mysql分页查询公式

mysql分页查询公式

放羊的小孩 1905

抖音a_bogus参数逆向避坑指南:从环境检测到XHR请求的全流程解析

本文详细解析了抖音a_bogus参数在v1.0.1.19版本下的逆向工程全流程,重点介绍了如何通过PyV8Env框架进行有效的补环境操作,以绕过严格的环境检测。内容涵盖从环境初始化、关键事件触发到模拟XHR请求获取签名的完整步骤,并提供了可运行的Python代码示例和常见检测点的避坑指南,帮助开发者稳定生成有效的a_bogus参数。

tech5的博客 600

生信人的一天~HIFI数据+HIC数据组装基因组

HIFI+HIC数据组装基因组!

qq_43337286的博客 9530

mysql分页公式

mysql分页,查询第3条数据

zl6605781的博客 2666

Flink SQL数据血缘实战:如何用Calcite追踪字段级数据流向(附源码示例)

本文深入探讨了如何利用Apache Calcite解析Flink SQL执行计划,实现字段级数据血缘的追踪。通过扩展Calcite的元数据处理器,特别是针对Flink特有的Snapshot等节点,文章提供了从获取优化后的逻辑计划到提取并可视化血缘关系的完整实战方案,并附有核心源码示例,帮助开发者构建实时数仓的数据治理能力。

weixin_29032337的博客 142

MySQL_分页查询公式

学习完狂神说Java的视频,在这里写一个随笔来记录mysql的分页查询。 开发环境:SQLyog 链接:https://pan.baidu.com/s/10bOkbmH44mDfaGkGg3YjvQ 提取码:jknt 一、创建数据库和表 sql文件: 链接:https://pan.baidu.com/s/1W4ykH_FSoDc79_tENqCKVQ 提取码:y3pk 二、写查询语句 SELECT s.StudentNo,StudentName,SubjectName,StudentResult FROM

BeJav 1209

Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框

在9.0的系统产品rom定制化开发中,在一些产品中会出现在首次开机的时候,由于在开机动画播放完以后会出现几秒短暂的黑屏情况,然后进入默认Launcher,这在产品体验上 也是感觉到有点差,所以会要求在去掉这个首次开机黑屏的效果,和在启动过程中的 android is starting这个提示框的这些效果优化,接下来就分析下相关功能, 然后实现这个功能的开发

安卓兼职framework和app工程师的博客 3244

195、大模型蒸馏与压缩:知识蒸馏与VLA模型轻量化

折腾完这一整套流程,最大的感悟是:知识蒸馏不是简单的模型压缩,而是知识迁移的工程艺术。每一步都有坑,每个参数都可能影响最终性能。给后来者的建议是:先别急着上蒸馏,把teacher模型的推理延迟和显存占用测清楚,确定瓶颈在哪里——是计算量太大还是内存带宽不够,这决定了你该用蒸馏还是量化还是剪枝。蒸馏训练时一定要监控每一层的特征对齐loss,别只看总loss。如果某一层的对齐loss特别高,说明student在这一层学歪了,需要调整该层的损失权重或者增加该层的投影头容量。

sundong_81的博客 110

Mysql数据库分页公式

LIMIT OFFSET , COUNT OFFSET :该页数据开始的下标(默认从零开始) 计算公式:每页显示的数量 * 页数 — 每页显示的数量 COUNT : 每页显示的数量

weixin_53077591的博客 563

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MySQL 学习笔记②

本博客内容概述:存储引擎、索引、SQL 优化、视图 / 存储过程 / 触发器、锁、InnoDB 引擎、MySQL 管理。

做笔记,记录学习中遇到的问题。 5757

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

学习 MySQL 需要知道的 28 个小技巧

随着信息技术的不断发展以及互联网行业的高速增长,作为开源数据库的MySQL得到了广泛的应用和发展。目前MySQL已成为关系型数据库领域中非常重要的一员。无论是运维、开发、测试,还是架构师,数据库技术都是一个必备加薪神器,那么,一直说学习数据库、学MySQL,到底是要学习它的哪些东西呢?......

LuciferLiu_DBA 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MySQL学习总结二

MySQL学习总结二 数据库与数据表的管理 数据库 进入MySQL环境的命令(这里是以root用户进入) Mysql -uroot -proot 123456 在命令行中创建数据库的命令 create database my_database; 或者 create database if not exits my_database; 如果使用 if not exits,那么当my_data...

LOUISE的博客 391

MySql学习(一)…(⊙_⊙;)…

索引优化: 索引优化的目的主要是让索引不失效,尽量用,不要让索引失效 1.最佳左前缀法则:带头大哥不能死,中间兄弟不能断`在这里插入代码片` create index teacher_all on teacher(tname,tbirthday,depart) drop index teacher_all on teacher explain select * from teacher where tname ='李诚' ...

qq_34348564的博客 539

MYSQL二主二从集群部署

MYSQL作为开源的关系型数据库,经常被我们使用,在业务系统中,数据库的稳定对于保障我们的业务流程显得非常重要,在高并发场景,虽然⼀主⼀从或⼀主多从集群解决了并发读的问题,但由于主节点只有⼀台,如果主节点宕机了,则数据库的写操作便⽆法完成,从⽽⽆法做到⾼可⽤。因此,今天我们来聊⼀下MySQL双主双从的集群搭建,双主双从的原理很简单,相当于有两个⼀主⼀从,然后两个主节点再互为主从,互相复制数据。

qq_25409421的博客 1591

MySql学习系列(二)

MySql学习系列(二)2.1 MySQL 基础 (二)- 表操作#学习内容#1、MySQL表数据类型2、用SQL语句创建表3、用SQL语句向表中添加数据4、用SQL语句删除表5、用SQL语句修改表#作业#项目三 (超过5名学生的课(难度:简单))项目四:交换工资(难度:简单)2.2 MySQL 基础 (三)- 表联结#学习内容#项目五:组合两张表 (难度:简单)项目六:删除重复的邮箱(难度:简单...

一个机器学习的学习之旅 1826

MySQL学习二

MySQL学习任务二2.1 MySQL 基础(二)-表操作2.2 MySQL 基础 (三)- 表联结 2.1 MySQL 基础(二)-表操作 #学习内容# MySQL表数据类型 用SQL语句创建表 语句解释 设定列类型 、大小、约束 设定主键 用SQL语句向表中添加数据 语句解释 多种添加方式(指定列名;不指定列名) 用SQL语句删除表 语句解释 DELETE DROP TRUNCATE 不同方...

hujiawen123456789的博客 305

MySQL二阶段提交机制详解

理解MySQL二阶段提交的运作机制、设计原理和实际应用

jeep_groury的博客 777

mysql学习总结

如果你确实需要包含与最高单价对应的具体图书信息,你可能需要创建一个不同的视图或使用一个更复杂的查询来实现这一目的。这样的查询通常会涉及到子查询或窗口函数,以便在返回每个类别的最高单价时,同时返回与该单价对应的图书的详细信息。请注意,这个视图只包含了每个类别的最高单价,而没有包含与这个最高单价对应的具体图书信息(如书名、作者等)。随着数据库的增长和使用的增加,性能可能会成为问题。)或连接(JOIN)操作来实现,但这样的查询会更为复杂,并且可能不适用于视图(因为视图通常用于简化复杂查询,而不是包含所有细节)。

Lqq040803的博客 1578

MySQL学习(二)MySQL的索引

MySQL(二)MySQL的索引 索引介绍 索引是什么 ​ 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书的目录,能加快数据库的查询速度。 索引的优劣势 优势: 可以提高数据检索的性能,降低数据库的IO成本,类似于书的目录。–检索 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。 --排序 被索引的列会自动进行排序,包括【单列索引】和【组合索引】,只是组合索引的怕排序要复杂一些。 如果按照索引的列进行排序,对应order by语句来说,效率

qq_44621930的博客 256

MySQL一主二从配置实战指南

摘要:本文详细介绍了MySQL一主二从架构的配置流程,基于CentOS8和MySQL8.0环境,包含主库与两个从库的完整配置步骤。主要内容包括:1)环境准备与核心原理说明;2)主库开启二进制日志、创建同步账号;3)两个从库配置server-id、中继日志并关联主库;4)数据同步验证方法及常见问题解决方案。文章提供完整操作代码,帮助读者快速实现主从复制架构,提升系统可用性和数据安全性。(150字)

2303_78660565的博客 1153

二、MySQL 介绍及 MySQL 安装与配置

MySQL 介绍及 MySQL 在 Windows 及 Linux 下的安装与配置

XAMO Lab|代码、调试与复盘笔记 2327

MySQL学习记录(二)

1. 导入示例数据库 教程:https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html 2. SQL是什么?MySQL是什么? 4. 查询语句 SELECT FROM 语句解释 去重语句 前N个语句 CASE…END判断语句 5. 筛选语句 WHERE 语句解释 运算符/通配符...

流金岁月的博客 690

MySQL学习笔记(二)

MySQL学习笔记(二) MySQL目录结构与源码 MySQL常见问题的解决

qq_45740503的博客 687
上一篇: MySql学习(一)…(⊙_⊙;)…
下一篇: JDBCTemplate的简单应用
qq_34348564
博客等级 码龄11年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值