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无法启动几种常见问题小结

    下面是MySQL无法启动常见问题小结的完整攻略: 问题一:端口被占用 如果MySQL无法启动,最常见的问题是端口被占用。通常情况下,MySQL默认使用3306端口,如果这个端口已经被占用(比如另外一个MySQL实例正在使用该端口),那么MySQL就无法启动。解决这个问题的方法有以下几种: 方法一:修改MySQL使用的端口号 可以通过修改mysqld.cnf配…

    MySQL 2023年5月18日
    00
  • mysql 服务意外停止1067错误解决办法小结

    Mysql 服务意外停止1067错误解决办法小结 背景介绍 在使用 Mysql 数据库的过程中,可能会遇到服务意外停止的问题,错误码为1067。这种情况的出现,如果不及时解决的话,可能会导致数据库无法正常工作,对后续的数据操作带来很大影响。 解决办法 方法一:检查 Mysql 配置文件my.ini 首先,我们应该检查一下 Mysql 的配置文件 my.ini…

    MySQL 2023年5月18日
    00
  • 大幅优化MySQL查询性能的奇技淫巧

    首先介绍几条优化MySQL查询性能的奇技淫巧: 1. 创建合适的索引 索引能够提高查询速度,但是不是所有的列都适合建立索引。一般建议给经常作为查询条件的列建立索引,例如主键、外键、频繁用于查询的字段等。过多的索引可能会导致写入降速,所以需要选择适当的列建立索引。 2. 优化查询语句 查询语句的优化也是提高查询性能的重要手段。例如使用JOIN语句的时候一定要注…

    MySQL 2023年5月19日
    00
  • MYSQL中binlog优化的一些思考汇总

    MYSQL中binlog优化的一些思考汇总 在MYSQL的开发和维护过程中,我们通常会面临 binlog 日志过多导致性能下降的挑战。为了解决这个问题,本文将探讨一些优化 binlog 的思考过程和方法。 一、日志格式 在 MYSQL 中,我们可以通过设置不同的 binlog 日志格式以达到优化性能的目的。常用的日志格式包括 STATEMENT、ROW 和 …

    MySQL 2023年5月19日
    00
  • sysbench的安装与使用(with MySQL)

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。 项目主页: http://sysbench.sourceforge.net/ 安装文档http://sysbench.sourceforge.net/docs/#install 但是好像这两天打不开,在这儿提供一个0.4.12版的下载:sysbench…

    MySQL 2023年4月12日
    00
  • MySQL性能优化之max_connections配置参数浅析

    MySQL性能优化之max_connections配置参数浅析 什么是max_connections max_connections是MySQL数据库中的一个配置参数,用于设置同时连接到MySQL服务器的最大客户端数量。一旦超过这个数量,新的客户端连接将无法被接受并返回错误信息。 如何设置max_connections 在MySQL配置文件my.cnf中,可…

    MySQL 2023年5月19日
    00
  • MySQL如何选择正确的字符集?

    MySQL中字符集的选择非常重要,因为它会影响到数据库存储、数据传输和数据显示等方面。选择正确的字符集可以确保数据的完整性、一致性和可读性。下面是一些选择正确字符集的建议: 根据应用需求选择字符集 一般来说,应根据应用程序的需要来选择字符集。如果应用程序需要支持多种语言和字符集,可以选择Unicode字符集,如UTF-8和UTF-16。如果应用程序只需支持一…

    MySQL 2023年3月10日
    00
  • MySQL数据库中delimiter的作用概述

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获。 其实就是告诉MySQL解释器,该段命令是否已经结束了,MySQL数据库是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,…

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