MySql随笔记基础

XAMPP使用 shell 命令

 

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

 

mysql 进入mySQL的命令

-uroot userroot 登录用户 -uroot

-p password 登录密码 -p123

show databases 显示数据库

use databaseName 使用哪个数据库

show tables 显示数据表

 

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

 

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

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

 

MySql随笔记基础

 

聚集函数:

MySql随笔记基础

 

 

查询:

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

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过滤分组

MySql随笔记基础

MySql随笔记基础

 

分组和排序:

GROUP BY 和 ORDER BY group by 和 order by

MySql随笔记基础

MySql随笔记基础

 

子查询:

MySql随笔记基础

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

MySql随笔记基础

 

MySql随笔记基础

注意:子查询和性能

 

 

 

事务:

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

 

事务的特性:

原子性(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;

 

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

 

原文链接:https://www.cnblogs.com/xiaoxiblog/p/17261055.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySql随笔记基础 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月19日

相关文章

  • 关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

    今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从与项目产品表关联的 文章表 中查询出的1个字段。我希望实现的效果是,获取到项目产品对应的文章提交人数,即该项目产品,有多少人提交了文章。看似很…

    MySQL 2023年4月12日
    00
  • MySQL优化之缓存优化(续)

    MySQL优化之缓存优化(续) 在上篇文章中,我们简单介绍了MySQL缓存的概念和使用方法。在今天的文章中,我们将进一步探讨MySQL的缓存优化,以提高MySQL的性能和稳定性。 1. 缓存过期机制 缓存数据过期机制是指缓存中的数据在一定时间内没有被访问就自动过期并被清除的机制。默认情况下,MySQL的缓存过期时间是1天。但在实际应用中,我们需要根据业务需求…

    MySQL 2023年5月19日
    00
  • Mysql中行转列和列转行

    一、行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容。 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score(    id INT(11) NOT NULL auto_increment,    userid VARCHAR(20) NOT NULL COMMENT ‘用户id’,…

    MySQL 2023年4月13日
    00
  • MySQL的复合索引总结

    MySQL是一款常用的关系型数据库,索引是MySQL中优化查询性能的重要手段。复合索引是一种在多列上创建的索引,相比于单列索引,复合索引能够更加精确的定位需要检索的数据。 复合索引概述 复合索引是在多个列上创建的索引,可以通过查询中的多个条件来定位到符合条件的数据。对于多个列的查询,复合索引优于单列索引,因为单列索引不能够覆盖所有查询列的数据。 复合索引的创…

    MySQL 2023年5月19日
    00
  • count(列名)、count(1)和 count(*)有什么区别?

    在MySQL中,这几个都是统计操作,很多人在使用的时候,都使用的是count(1),这有没有问题?使用正确?达到了统计效果? 我们从效果和效率两方面来分析下 执行效果 count(*) 包括了所有的列,在统计时不会忽略列值为null的数据count(1) 用1表示代码行,在统计时不会忽略列值为null的数据count(列名)在统计时,会忽略列值为空的数据,就…

    MySQL 2023年5月6日
    00
  • mysql启动报错:The server quit without updating PID file的几种解决办法汇总

    下面我就介绍一下关于”mysql启动报错:The server quit without updating PID file的几种解决办法汇总”的完整攻略。 问题描述 在使用MySQL时,可能会遇到”The server quit without updating PID file”的错误信息,这个错误信息通常会伴随着MySQL启动失败。可能的错误原因包括:…

    MySQL 2023年5月18日
    00
  • 解压版MYSQL安装及遇到的错误及解决方法

    解压版MYSQL安装和遇到的错误及解决方法 安装步骤 下载解压版的MySQL安装包,官方地址:https://dev.mysql.com/downloads/mysql/ 将压缩包解压到指定目录中,如:D:\mysql 进入MySQL目录,在该目录下新建my.ini文件,并添加以下内容: ini [mysqld] # 设置MySQL安装目录 basedir=…

    MySQL 2023年5月18日
    00
  • Mysql实现null值排在最前或最后

    最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。oracle方法:null值排在最前 select * from A order b…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部