MySQL笔记(2)】的更多相关文章

[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日期型 NULL值 五.数据字段属性 六.数据库索引 主键索引(PRIMARY KEY) 唯一索引(UNIQUE) 常规索引(INDEX) 全文索引(FULLTEXT) 七.数据表的类型 八.字符集设置 九.mysql查询 数据操作(DML)语言 数据查询(DQL)语言 查询语法言 查询语法 十.PH…
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password.host)<>能不能执行操作.涉及到的字典表 mysql.user mysql.db mysql.tables_priv mysql.columns_priv mysql.proc_priv<>权限变更何时生效.mysql数据库启动时将上面的权限字典表的内容读到内存中,有用户连接或执行…
centos7.2下安装Mysql笔记 安装 MySQL 适用于 CentOS 7.0 或以后版本: yum install mariadb mariadb-server 适用于 CentOS 6.8 或以前版本: yum install mysql mysql-server mysql-devel 启动 MySQL 服务 适用于 CentOS 7.0 或以后版本: systemctl start mariadb.service 适用于 CentOS 6.8 或以前版本: service mys…
23.3.1 Trigger Syntax and Examples 意义不明的几道练习,留着备用. 感觉不好写,而且难以调试..不知道以后会不会有实际的应用场景. 环境:MySQL 笔记(三)由 txt 文件导入数据 1.利用游标查找所有女业务员的基本情况 DROP PROCEDURE IF EXISTS show_female_details; DELIMITER // CREATE PROCEDURE show_female_details() BEGIN -- 用于保存 FETCH 结果…
mysql 笔记 预留 mysql> use mysql; mysql> grant all privileges  on *.* to root@'%' identified by "password"; mysql> flush privileges; 0. win下安装mysql57 1.下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-winx64.zip 2.解压设置配置文件 [mysq…
 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 具体参看:[MySQL笔记]数据库的查询   2 .数据操纵语言DML INSERT - insert data into a table(插入) UPDATE -…
Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup loop) 2.3. 刷新循环(flush loop) 2.4. 暂停循环(suspend loop) 3. InnoDB关键特性 3.1. 插入缓冲(Insert Buffer) 3.2. 两次写(Double Write) 3.3. 自适应哈希索引(Adaptive Hash Index),默认…
深入浅出mysql笔记---1.mysql下载安装 一.总结 一句话总结: linux下rpm安装即可 1.linux的wget命令作用? 下载文件的工具:比如wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 以下的例子是从网络下载一个文件并保存在当前目录 wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,…
深入浅出mysql笔记---0.序 一.总结 一句话总结: 心得:买书之前建议先找找电子书,纸质书太难带了 1.开源作用? 开源对mysql的发展至关重要 2.mysql在2002年就全面支持了事务,2005年mysql5.0就发布了? 时间积累 3.开源数据库中标准以及功能有别的数据库做的好的,比如PostgreSQL,但是为啥mysql独占鳌头? mysql性能好啊:功能多,标准多可能性能就不好了 4.mysql在性能和标准中是如何取舍的? 性能:web应用最需要的也就是性能 5.商业数据库…
mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) 连接与断开服务器 mysql -h 地址 -P 端口 -u 用户名 -p 密码 show processlist -- 显示哪些线程正在运行 show variable…
目录 MySQL笔记(二) 一幅画,一次瞬间的回眸,就在那次画展上,那个眼神,温柔的流转,还是那干净的皮鞋,一尘不染,俊朗的眉宇性感的唇,悄悄走近,牵手一段浪漫 MySQL笔记(二) 13.条件查询 1.普通条件查询 语法:SELECT COL_LIST FROM TABLE_NAME [WHERE CONDITION_EXPRESSION] 示例1:查询QQ号为12301的玩家信息 SELECT*FROM USERS WHERE USER_QQ='12301' 示例2:查询分数大于2500分的…
目录 MySql笔记(一) 每天给自己一个希望,努力做好自己,不为明天烦恼,不为昨天叹息.当梦想还在,告诉自己:努力,就总能遇见更好的自己! MySql笔记(一) 1.创建数据库以及删除 1.创建数据库语法:(命令行窗口操作) CREATE DATABASE DATABASENAME 示例:创建名为MySQLTest的数据库 CREATE DATABASE MySQLTest; 2.删除数据库语法:(命令行窗口操作) DROP DATABASE DATABASENAME 示例:删除名为MySQL…
MySQL的体系结构,可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程:Server层包括连接层.查询缓存.分析器.优化器.执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期.时间.数学和加密函数等),实现所有跨存储引擎的功能比如存储过程.触发器.视图等:存储引擎层负责数据的存储和提取,MySQL5.5.5版本开始默认使用InnoDB,即你执行create table建表时,不指定引擎类型,默认使用InnoDB: 连接器: 连接管理(Connectio…
一.背景 在上一篇[MySQL笔记(5)-- SQL执行流程,MySQL体系结构]中讲述了select查询语句在MySQL体系中的运行流程,从连接器开始,到分析器.优化器.执行器等,最后到达存储引擎.那么对于update更新语句来说对应的流程又是怎样的呢,今天我们来探讨下更新跟查询之间的区别. 二.更新语句的执行流程 当我们创建一张表时: create table T(ID int primary key,c int); 如果这张表在创建完后插入了一些数据,现在要对一条数据执行更新操作: upd…
MySql笔记2: part3:(table相关的操作) 数据的增删改 create table t1( id int primary key auto_increment, username char(12) not null, sex enum('male','female') default 'male', hobby set('上课','写作业','考试') not null ) 增 insert into 表(字段) values(值...); insert into t1 value…
大二学数据库的时候,只是隐约听到老师提起过视图啊,存储过程啊,触发器啊什么的,但只是淡淡的记住了名字,后来自己做些小项目,小程序,也没有用上过,都只是简单的建表,关联表之类的,导致我对这些东西的理解只能停留在名称的阶段.最近看完了一本薄薄的小书叫<MySQL必知必会>,记了不少笔记,也自己上手实践了一番,总算是了解了些皮毛. 下面通过实例来具体了解这几个东西,首先我的样例表是这样的. 视图: 什么是视图? 视图是虚拟的表,本身并不包含数据,通过一个例子,来更好地理解视图: 假设上述表中,我需要…
优化服务器设置 1. MySQL有大量可以修改的参数--但不应该随便去修改.通常只需要把基本的项配置正确(大部分情况下只有很少一些参数时真正重要的),应将更多时间花在schema的优化.索引,以及查询设计上. 在正确配置了MySQL的基本配置项之后,再花力气去修改其他配置项的收益通常就比较小. 从另一方面来说,没用的配置导致潜在风险的可能更大. 2. 那么什么是该做的呢? 确保基本配置是正确的.例如InnoDB的Buffer Pool和日志文件缓存大小,如果想防止出问题(提醒一下,这样做通常不能…
不久的学习笔记.分享.我想有很大的帮助谁刚开始学习其他人的 备注:该票据于mysql-5.1.73版本号例如 1. mysql源代码编译/安装步骤 1) 官网下载mysql源代码并解压 2) cd至源代码文件夹.运行 ./configure --prefix=/home/slvher/tools/mysql-5.1.73 --with-charset=gbk --with-charset=gb2312 --with-extra-charsets=all --with-plugins=max-no…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 19) --为什么我只查一行的语句,也执行这么慢? 需要说明一下,如果MySQL数据库本身就有很大的压力,导致数据库服务器CPU占用率很高或ioutil(IO利用率)很高,这种情况下所有的语句执行都有可能变慢,不属于我们今天的讨论范围.为了便于描述,我们构造一个表,基于这个表来说明问题.这个表有两个字段id和c,并且我们事先插入了10万行记录. mysql> CREATE…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 18) --为什么这些SQL语句逻辑相同,性能却差异巨大? 本篇我们以三个例子来记录. 案例一:条件字段函数操作 mysql> CREATE TABLE `tradelog` ( `id` int(11) NOT NULL, `tradeid` varchar(32) DEFAULT NULL, `operator` int(11) DEFAULT NULL, `t_mod…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 17) --如何正确地显示随机消息? 如果有这么一个英语单词表,需要每次访问时随机显示三个单词.但实际使用中发现,随着单词表越变越大,选单词这个逻辑变得越来越慢.建表语句如下: mysql> CREATE TABLE `words` ( `id` int(11) NOT NULL AUTO_INCREMENT, `word` varchar(64) DEFAULT NULL…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 16) --“order by”是怎么工作的? 在林老师的课程中,第15讲是前面问题的答疑,我打算最后将答疑问题统一整理出来,所以就继续这些内容的笔记了. 全字段排序: 假设有一个表是这么设计的: CREATE TABLE `t` ( `id` int(11) NOT NULL, `city` varchar(16) NOT NULL, `name` varchar(16) NO…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 14) --count(*)这么慢,我该怎么办? 有时你会发现,随着系统中记录数越来越多,select count(*) from t执行得也越来越慢.那么今天,我们就来聊聊count(*)语句到底是怎样实现的,以及MySQL为什么会这么实现. count(*)的实现方式: 前面我们提到过,MySQL的引擎是插件式的,这里要明确一点,在不同的MySQL引擎中,count(*)有不…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 13) --为什么数据表删掉一半,表文件大小不变? 我们还是以MySQL中应用最广泛的InnoDB引擎为基础来展开讨论.一个表中包含两部分:表结构定义和数据.在MySQL8.0版本以前,表结构是以.frm为后缀的文件存储的.而在MySQL8.0版本,已经允许把表结构定义放在系统数据表中了.因为表结构定义占用的空间很小,索引我们今天主要讨论的是表数据. 参数innodb_file_…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 12) --为什么我的MySQL会“抖”一下? 断更了一段时间,因为这几周实在是太忙了,周末加班两天那种... 有时你会遇到这样的问题,一条SQL语句,正常执行的时候很快,但是有时候会变得特别慢.并且这种场景很难复现,不只随机而且持续时间很短.这其实与MySQL的脏页以及它的刷新机制有关.之前我们有过一个关于<孔乙己>里面酒馆老板记账的比喻.在这个比喻里,掌柜的账本就…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 11) --怎么给字符串字段加索引? 日常工作中的登录系统,你很可能会使用emai这个字段.因此也很容易遇到类似这样的语句: mysql> select *from user where email = 'xxx'; 我们知道,如果没有索引那就只能使用全表扫描.并且MySQL是支持前缀索引的,也就是说,你可以顶一个字符串的一部分作为索引.默认地,如果你创建索引的语句不指定前…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 10) --MySQL为什么有时会选错索引? MySQL中的一张表上可以支持多个索引的,但是,往往你写SQL语句的时候不会去主动指定使用哪个索引.也就是说,使用哪个索引是由MySQL来确定的.而MySQL有时会选择不恰当的索引,我们举一个例子来说明这种情况. CREATE TABLE `t` ( `id` ) NOT NULL, `a` ) DEFAULT NULL, `b` )…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 9) --普通索引和唯一索引,应该怎么选择? 假如你在维护一个市民系统,每个人都有唯一的身份证号,而且业务代码也已经保证了不会写入两个相同的身份证号.如果需要按身份证号来查找,你可能会执行类似这样的SQL语句: select name from CUser where id_card = 'xxxxxxxxyyyyyzzz'; 由于身份证号id_card字段较长,不建议将身份证号…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 8.a) --事务到底是隔离还是不隔离的? 本周工作较忙,加上懒惰,拖更了,抱歉. 接上文,分析下事务A的返回结果,为什么k=1.这里我们做如下假设: 事务A开始前,系统里面只有一个活跃事务,其ID是99 事务A,B, C的版本号分别是100,101,102,且当前系统里面只有四个事务. 三个事务开始前,(1,1)这一行数据的row trx_id是90 这样,事务A的视图数组就是…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 8.a) --事务到底是隔离还是不隔离的? 这部分内容不太容易理解,笔者也是进行了多次阅读.因此引用原文: 之前有提到过,如果是在可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样,也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响. 但是,在之前也行锁相关内容时又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这…