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集群的配置,我们需要掌握一些基本的命令和操作过程。下面是一个完整的MySQL集群配置攻略: 一、安装MySQL集群软件 首先,我们需要在每个节点上安装MySQL集群软件,包括MySQL服务器和NDB集群管理器。这里我们以Ubuntu操作系统…

    MySQL 2023年5月18日
    00
  • MySQL优化方案参考

    MySQL优化方案参考攻略 1. 索引优化 1.1 索引分类 MySQL的索引分为主键索引和非主键索引。主键索引是基于表的主键定义的索引,非主键索引则是除主键外的普通索引。 1.2 索引设计原则 建立索引的字段应该尽量选择区分度高的字段,避免对字段的重复值建立索引。否则,索引失效的可能性比较大,建立的索引占用的磁盘空间也较大。 索引字段应该尽量选择长度小于等…

    MySQL 2023年5月19日
    00
  • MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A…’的解决方法

    让我来详细讲解MySQL存储表情时报错的解决方法。 问题描述 在使用MySQL存储表情时,有可能会出现以下报错信息: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’ for column ‘column_name’ at row XXX 其中,\xF0\…

    MySQL 2023年5月18日
    00
  • 详解MySQL kill 指令的执行原理

    详解MySQL kill 指令的执行原理 MySQL kill指令可用于终止正在执行的MySQL进程,本文将详细讲解MySQL kill指令的执行原理。 MySQL kill指令的语法 KILL [CONNECTION | QUERY] thread_id; 其中,thread_id为MySQL进程的线程ID。 使用CONNECTION参数时将中断指定连接进…

    MySQL 2023年5月19日
    00
  • 关于MySQL实现指定编码遇到的坑

    针对MySQL实现指定编码遇到的坑,我们可以采取以下的攻略: 第一步:确认数据库字符集和排序规则 在MySQL中,字符集和排序规则是非常重要的,因为它们直接影响到数据的存储和查询。因此,在执行任何操作之前,我们需要先确认数据库当前的字符集和排序规则是否符合要求。 我们可以通过如下命令来查看数据库的字符集和排序规则: SHOW VARIABLES LIKE ‘…

    MySQL 2023年5月18日
    00
  • MySQL利用procedure analyse()函数优化表结构

    MySQL提供了procedure analyse()函数,可以用于优化表结构。它可以将表的数据类型、字符集、NULL值、默认值、注释等信息进行统计,帮助开发者了解表的特点以及基于这些信息优化表结构。 下面介绍如何利用procedure analyse()函数优化表结构,具体步骤如下: 执行procedure analyse()函数 SELECT * FRO…

    MySQL 2023年5月19日
    00
  • 浅谈MySQL安装starting the server失败的解决办法

    浅谈MySQL安装starting the server失败的解决办法 问题描述 在安装MySQL时,有可能遇到 starting the server 失败的问题。当出现这一问题时,MySQL服务将无法启动,导致无法进行数据库操作。此问题通常由于配置不当、端口占用等原因引起。本文将提供一些解决方案和注意事项,帮助你解决这一问题。 解决步骤 1. 检查端口是…

    MySQL 2023年5月18日
    00
  • Mysql索引覆盖如何实现

    这篇“Mysql索引覆盖如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mysql索引覆盖如何实现”文章吧。 1.什么是覆盖索引 通常情况下,我们创建索引的时候只关注where条件,不过这只是索引优化的一个方向。优秀的索引设计应该纵观整个…

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