MySQL
文章平均质量分 73
mysql
healthLau
他们坐在特快列车里,却不知道他们要追寻什么。所以他们很烦躁,不停地绕圈子......
展开
-
Mysql性能优化
1、Explain做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有使用到索引,值是NULL。key_len列,索引长度。不损失精确性的情况下,长度越短越好rows列,查询所扫描的行数。该值是个预估值。extra列,详细说明。注意,常见的不太友好的值,如下:Using filesort,Using temporary原创 2022-03-29 02:03:51 · 486 阅读 · 0 评论 -
MySQL汉字排序
正常的排序语句是无效的示例:SELECT * FROM user u ORDER BY age ASC,username DESC原创 2021-08-31 11:33:22 · 5697 阅读 · 0 评论 -
MySQL 事务隔离级别
非常详细!!!转载:https://developer.aliyun.com/article/743691原创 2020-12-31 11:50:22 · 82 阅读 · 0 评论 -
MySQL 事务
事务事务一个完整逻辑的过程,要求整个过程要么全部成功,要么全部失败。事务的特点ACID:原子性要求整个事务过程要么全部成功,要么全部失败。一致性事务执行之前与事务执行之后的状态(数据)保持一致性隔离性事务与事务之间是相互独立(隔离)持久性将数据提交到数据库中会永久保存。事务操作1.开启事务:start transcation2.执行操作:执行增删改查等操作3.提交|回滚:commit | rollback实例1.建表create table accout( c原创 2020-12-31 09:57:32 · 91 阅读 · 0 评论 -
MySQL 日期时间加减
now (); 当前具体的日期和时间curdate (); 当前日期curtime(); 当前时间1.MySQL加减某个时间间隔设置当前日期变量set @dt = now(); //设置当前日期select @dt; //查询变量值加减某个时间间隔函数date_add()与date_sub()date_add('某个日期时间',inte...原创 2019-06-03 21:28:05 · 117079 阅读 · 3 评论 -
MySQL存储过程
1.创建存储过程基本语法格式如下create proceduce sp_name([proc_parameter])[characteristic · · · ] routine_bodycreate proceduce为创建存储过程的关键字。 sp_name为存储过程的名称。 routine_body 是sql代码内容,可以用begin···end来表示sql代码的开始...原创 2019-05-24 23:43:17 · 196 阅读 · 0 评论 -
MySQL 视图操作
MySQL 视图操作视图的含义:虚拟表,从数据库中的一个或多个表中导出来的表,对视图看到的数据进行修改时,相应的基本表的数据也会发生改变。基本表数据变化,也会反映到视图中。视图的作用:简单、安全性高、逻辑数据独立、可以让视图显示的都是我们需要的数据。1.创建视图语法:create [or replace] [algorithm = {undefined | merge | ...原创 2019-05-10 23:53:09 · 354 阅读 · 0 评论 -
MySQL联合查询及取别名
合并查询结果(UNION)利用union关键字,可以将多条select语句合并,合并时两个表对应的列数和行数以及数据类型必须相同。union all 执行时会删除重复的记录,所有返回的行都是唯一的。 union 使用all,不删除重复行,也不对结果进行自动排序。基本语法如下:select 字段名 ··· from 表1union [all]select字段名 ··· f...原创 2019-05-10 22:29:48 · 2906 阅读 · 0 评论 -
MySQL子查询(嵌套查询)
一个查询语句嵌套在另一个查询语句内部的查询常用操作符:ANY(SOME), ALL, IN, EXISTS比较运算符:>, >=, <, <=, != 等创建两个表,表明分别是tb1,tb2,并向其各插入了数据。 1.带ANY(SOME)关键字的子查询这里any和some是同义词,都是表示满足任一条件。例:查询tb1中的所有数...原创 2019-05-10 22:15:31 · 44927 阅读 · 0 评论 -
MySQL数据库备份与还原
数据库备份1.备份单个数据库中的所有表mysqldump -u用户名-p 数据库名>保存的路径如:把mydata1数据库备份到D盘根目录下,名称为mydata2.sql的文件打开命令行窗口,输入如下命令:mysqldump -uroot -p mydata1>d:\mydata2.sql2.备份数据库中的某个表mysqldump -u用户名...原创 2019-05-07 23:56:09 · 597 阅读 · 0 评论 -
MySQL单表查询汇总(DQL)
首先创建一个名为fruits的表,并为其添加数据。create table fruits( id int not null, name char(255), price decimal(8,2), primary key(id));1. 查询所有字段select * from 表名;或select 字段1,字段2,字段3··· ...原创 2019-05-07 14:57:39 · 336 阅读 · 0 评论 -
MySQL使用正则表达式查询
在MySQL中,使用REGEXP关键字指定正则表达式的字符匹配模式。正则表达式常用的字符匹配列表 选项 描述 例子 匹配值示例 ^ 匹配文本的开始字符 ^b:匹配以b开头的字符串 book,big,banana $ 匹配文本的结束字符 st$:匹配以st结尾的字符串 test,persist,reist ....原创 2019-05-09 00:06:42 · 833 阅读 · 0 评论 -
MySQL连接查询
首先创建两个表fruits表,包含水果 id、名字、价格orders表,包含 id 和订单号(num)1.内连接查询(INNOR JOIN)使用普通sql语句select fruits.id,name,price,numfrom fruits,orderswhere fruits.id=orders.id;使用内连接查询语句(结果与上图相同)s...原创 2019-05-08 23:43:02 · 9367 阅读 · 0 评论 -
MySQL集合(聚合)函数
MySQL 聚合函数 函数 作用 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列的和 1.COUNT() 函数统计数据表中包含的记录行数,或根据查询结果返回列中包含的数据行数。count(*) 计算表中总行数,不管某列是数值还是...原创 2019-05-08 13:15:21 · 6157 阅读 · 0 评论 -
MySQL 分页查询(limit)
使用LIMIT限制查询结果的数量语法格式:limit [开始的索引] 行数开始的索引从0开始计算例1:查询两条记录(从第一个开始的)select * from fruits limit 2;例2:查询两条记录(从第三个开始)select * from fruits limit 2,2;分页查询公式:开始的索引 = (当前的页码 - 1)...原创 2019-12-09 23:15:04 · 602 阅读 · 0 评论 -
MySQL 分组查询
分组查询按照某个或多个数据进行分组分组查询语法:groupby 分组字段[group by 字段] [having (条件表达式)]having:过滤分组以下表为例示例1:按照性别分组。分别查询男、女同学的平均分示例2:按照性别分组。分别查询男、女同学的平均分,人数示例3:按照性别分组。 分别查询男、女同学的平均分,人数要求:分数...原创 2019-12-09 23:15:56 · 1787 阅读 · 0 评论 -
Mysql 排序查询(DQL)
排序查询排序查询语法:order by 子句order by 排序字段1 排序方式1, 排序字段2 排序方式2...排序方式:默认为升序(ASC),降序(DESC)以下表为例示例1:升序和降序查询数学成绩(图为降序查询结果)select * from student order by math; -- 升序(默认升序,可不加ASC)select * f...原创 2019-12-09 22:37:43 · 144 阅读 · 0 评论 -
Mysql 条件查询(like、between、and、in······)
Mysql 条件查询,即where子句后跟条件运算符:格式:select 字段 from 表名 where 条件;使用下表为例:示例1:查询年龄大于20,小于30的信息(下述三种都可以,结果一样)SELECT * FROM student WHERE age >= 20 && age <=30;SELECT * FROM st...原创 2019-12-09 22:09:20 · 6665 阅读 · 0 评论 -
MySQL 基础查询语句(DQL)
首先建个表create table student (id INT,-- 编号name VARCHAR(20), -- 姓名,age INT, -- 年龄sex VARCHAR(5),-- 性别address VARCHAR(100),-- 地址math INT,-- 数学english INT -- 英语);向该表添加数据insert into student (...原创 2019-12-09 21:47:20 · 178 阅读 · 0 评论 -
MySQL 表数据的插入、更新与删除(DML)
MySQL数据库 插入、更新与删除数据1.插入数据1.为所有字段插入数据(一次可添加多条数据,也可以只添加一条数据)insert [into] 表名 (字段1,字段2,字段3···) values(值1,值2,值3···), (值1,值2,值3···);或者insert [into] 表名 values(值1,值2,值3···), (值1...原创 2019-04-24 23:09:07 · 781 阅读 · 0 评论 -
MySQL 表的约束条件
1.主键约束主键约束要求主键列的数据要唯一,并且不允许为空。在定义列时指定主键,语法规则如下字段名 数据类型 primary keycreate table book(bno Varchar(6) primary key, //主键bname Varchar(70),press Varchar(30),price Decimal(8,2),author varchar(30...原创 2019-12-09 20:31:16 · 597 阅读 · 0 评论 -
MySQL 表的基本操作
MySQL数据库表的基本操作1.建表create table 表名(字段1,数据类型 [约束条件] [默认值],字段2,数据类型 [约束条件] [默认值],······)例如:在test1数据库中建一个名字为book的表注:1.建表前要用 “use 数据库名” 指定操作在哪个数据库中进行的。2.[***]表示非必须。2.修改表修改表名alter table 旧...原创 2019-04-24 21:56:03 · 449 阅读 · 0 评论 -
MySQL数据库的基本操作
MySQL数据库基本操作MySQL数据库的基本操作1.查看数据库show databases;显示所有数据库(默认的数据库和自己创建的数据库)2.创建数据库create database 此时再用show databases;查看数据库,会发现新建的数据库已经显示出来了3.查看具体数据库show create database 数据库名;我们查看刚刚创建的stu数据...原创 2019-04-15 10:35:22 · 423 阅读 · 0 评论 -
Mysql80解压版安装与卸载
一、MySQL解压版安装1.下载.zip包官网下载链接:https://dev.mysql.com/downloads/mysql下载速度慢的话可以把链接复制到迅雷上进行下载(还挺快的)2.将.zip压缩包解压到想放的文件目录位置(下图为解压后的mysql目录结构)3.配置mysql的配置文件打开mysql的安装目录(解压目录)D:\Program Files\MySQL\mysql-8.0.18-winx64创建my.ini配置文件,将下述内容复制到文件中(原创 2019-12-08 23:16:23 · 2266 阅读 · 0 评论