草庐IT

MySql随笔记基础

萧熙的博客 2023-03-28 原文

XAMPP使用 shell 命令

 

每个数据库对应 一个子文件夹

 

mysql 进入mySQL的命令

-uroot userroot 登录用户 -uroot

-p password 登录密码 -p123

show databases 显示数据库

use databaseName 使用哪个数据库

show tables 显示数据表

 

alter --更改数据库或数据表的结构

 

-- 插入数据先 插入实体表的数据 再插入关系表数据

-- 删除数据 先删除关系表的数据 再删除实体表数据

 

 

聚集函数:

 

 

查询:

表的设计,会影响到数据的查询

where 查询 最终 返回的是 布尔值

from 相当于循环语句

*

select 相当于输出语句 能够输出一个表达式

as 可以给 列名取别名

 

条件运算符:

>, <, >=, <=, =, != 或 <>

and, or, not

between 在...之间

is, in, like, exists, some, any,all

 

表达式:

是由 变量、常量、运算符、函数等组成的公式

 

查询的 select 的基本语法格式:

select * from 表名 where 表达式

 

ground by 分组

having 分组后按条件查询

 

筛选

order by

 

 

having:

having 子句 和where子句的区别:

所有where的子句都适用于having代替,having 非常类似于 where。where过滤指定行,having过滤分组

 

分组和排序:

GROUP BY 和 ORDER BY group by 和 order by

 

子查询:

SQL 还允许创建子查询(subquery),即嵌套在其他查询中的查询。

 

注意:子查询和性能

 

 

 

事务:

事务 指一个操作序列,该操作序列中的多个操作要么都做,要么都不做

 

事务的特性:

原子性(Atomcity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)

简称:ACID

 

    1. 原子性:

原子是自然界中最小的颗粒,具有不可再分的特性。事务中所有操作可以看做是一个原子,事务是不可再分的最小逻辑执行体,使用事务对数据进行修改的操作序列,要么全部执行,要么全部不执行。

    1. 一致性

一致性是指事务执行的结果必须使用数据库从一个一致性的状态,变到另一个一致性的状态。当数据库中只包含事按提交的结果时,数据库保持一致性状态。一致性是通过原子来保证的。

    1. 隔离性

隔离性是指各个事务之间互不干扰。

  1. 持久性

持久性事务一旦提交,对数据所做的任何改变,都会记录到永久存储器中。

 

 

视图:

视图的本质上就是一个查询语句,是一个虚拟表,你查看视图就是其实就是执行那条语句

 

Sql语句展示:

 

创建视图:

create or replace view 表名

as

select 列名,列名

from 表名

where 条件

with check option;

 

 

-- or replace 如果有就替换

 

-- 视图的使用

-- 创建视图 -- create or replace 创建 或者 替换(存在表时)

create or replace view view1

as

select empno,ename,job,deptno

from emp;

 

select * from view1;

 

-- 带条件的视图

create or replace view view2

as

select empno,ename,job,deptno

from emp

where deptno = 30;

 

select * from view2;

 

-- 在视图中插入数据 会将数据插入在实体表中

insert into view2 (empno,ename,job,deptno) values(8888,'zhangsan','cleak',30);

insert into view2 values(8888,'zhangsan','cleak',30);

 

-- 插入数据会出现 不想要的结果 可以加上 with check option 带有查询选项 和查询的条件一致才能插入 可以避免不必要的麻烦 建议加上

create or replace view view2

as

select empno,ename,job,deptno

from emp

where deptno = 30

with check option;

 

select * from view2;

 

-- 创建或替换多表视图

create or replace view view3

as

select e.empno, e.ename,e.job,d.deptno,d.dname

from emp e,dept d

where d.deptno = 20 or d.deptno = 30;

 

select * from view3;

 

 

存储过程:

作用

 

-- 存储过程

 

-- 定义一个没有返回值的存储过程

-- concat('%',name,'%') 拼接函数 禁止直接使用 '%'+ a +'%'

select * from emp where ename like '%a%';

 

 

create procedure demopro1(name varchar(10))

begin

if name is null or name = "" then

select * from emp;

else

select * from emp where ename like concat('%',name,'%');

end if;

end;

 

-- 执行存储过程(函数)

call demopro1(null);

call demopro1('a');

call demopro1('n');

 

-- 删除存储过程(函数)

drop procedure demopro1;

 

内容未完结......(持续更新)

 

有关MySql随笔记基础的更多相关文章

  1. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  2. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  3. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  6. ruby-on-rails - 无法安装 mysql2 0.3.14 gem - 2

    我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby​​目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin

  7. ruby - 如何使用 ruby​​ mysql2 执行事务 - 2

    我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi

  8. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  9. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  10. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

随机推荐