mysql 知识】的更多相关文章

在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么样的. MySQL查询知识树: 一.查询的方式 二.查询的原理 三.查询的应用场景 四.查询的效率比较 五.查询的优化 一.查询的方式 MySQL的查询可以分为交叉连接.内连接.外连接.自然连接.   下述对于连接查询的学习,会用到以下两张表: create table t_commodity_ty…
原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误…
MySQL 文章目录 MySQL 表 锁 索引 连接管理 事务 日志系统 简单记录 极客时间 - MySQL实战45讲 MySQL知识图谱 表 表 引擎选择 编码问题 表空间管理 字段设计 备份和恢复 压缩表 分区表 锁 锁 全局锁 表锁 行锁 索引 索引 主键索引 唯一索引 前缀索引 选择策略 change buffer 空间利用率 索引设计 排序优化 连接管理 连接管理 长短连接 连接内存管理 并发管理 事务 事务 ACID和实现机制 隔离级别对业务的影响 count(*) 的实现和优化 大…
知识概况 视图 函数 存储过程 事务 索引 触发器 [视图] 视图是一个虚拟表,可以实现查询功能,不能进行增删改 本质:根据sql语句获取动态的数据集,并为其命名 1.创建视图 --create view view_name as sql语句 create view v1 as select nid ,name from a where nid >4 2.删除视图 drop view v1 3.修改视图 alter view 视图名称 as sql语句   alter view v1 as se…
mysql介绍 (1) mysql数据库是瑞典AB开发. (2) mysql--> sun --> oracle. (3) mysql数据库的特点. 1. 开源. 2. 免费. 3. 跨平台(windows/linux/unix/苹果). 4. 处理并发性(13000个)/安全/稳定. 5. 该数据库 轻(对资源要求不高)安装文件 37.7M.而且 对cpu/内存要求都不高 基本语法: 在dos下输入: mysql -u 用户名 -p 密码 特别说明 -p 后面的密码不要有空格 /使用该命令的…
https://yq.aliyun.com/articles/5533(死锁分析的很好的一篇文章) http://hedengcheng.com/?spm=5176.100239.blogcont5533.8.vaztis&p=771#_Toc374698322MySQL死锁问题分析,很全面,对比SQL Server,应该也会存在类似的问题.说死锁,多数时候的示例都是“不同表相同记录行锁冲突”,其实这仅仅占死锁现象的25%.如果为此算作“知道了”死锁,出现另外75%的可能性,还是一脸茫然与不解,…
MySQL的知识面试中还是经常被问到的,简单的使用似乎无法达到面试官的要求,很多问题会关于Mysql存储引擎,所以这里还是需要系统学习一下Mysql的一些知识,面试过程中游刃有余. MySQL体系结构 MySQL是多个子系统构成的层次化的系统. a.Connectors:用来与客户端应用程序建立连接的数据库接口.(提供各种高级语言的版本,比如之前的Mysql-python-connector). b.Management Services & Utilities:系统管理与服务控制相关的辅助工具…
本篇学习笔记的主要内容: 介绍MySQL支持的各种数据类型(常用),并讲解其主要特点.   MySQL支持多种数据类型,主要包括数值类型.日期和时间类型.字符串类型. 数值类型 MySQL的数值类型包括整数类型.浮点数类型.定点数类型.位类型. 整数类型 MySQL支持的整数类型有tinyint.smallint.mediumint.int.bigint(范围从小到大). zerofill 我们在定义整数类型时可以在类型名称后面的小括号内指定显示宽度,例如int(5),当插入的数值宽度小于5位时…
为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答. 这个问题我查了好多资料,有的…
一.子查询 1.定义 子查询是将一个查询语句嵌套在另一个查询语句中.内层查询语句的查询结果,可以为外层查询语句提供查询条件.子查询中可以包含:IN.NOT IN.ANY.ALL.EXISTS 和 NOT EXISTS等关键字,还可以包含比较运算符:= . !=.> .<等. 2.举例 带IN关键字的子查询 #查看技术部员工姓名 select name from employee where dep_id in (select id from department where name='技术'…
1 安装 环境 CentOS yum install -y mysql-server mysql mysql-deve service启动 1.1 启动 service mysqld start 1.2 重启 service mysqld restart 1.3 停止 service mysqld stop 1.4 通过进程启动和关闭 查看进程 ps aux |grep mysql 杀死进程 kill -9 xx cd /usr/local/mysql/bin/ 启动命令: ./mysqld_s…
1. 唯一索引 普通索引允许被索引的数据列包含重复的值.唯一索引则是不允许有重复的值,当然 null 除外,唯一索引不仅仅可以存储 null , 还可以存储多个 null.这么做的好处是: 简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率: MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了,如果是,MySQL将拒绝插入那条新记录.一般来说,设置唯一索引是为了避免数据出现重复.…
一.数据类型介绍 数据类型 字节长度 范围或用法 bigint 8 无符号[0,2^64-1],有符号[-2^63 ,2^63 -1] binary(M) M 类似Char的二进制存储,只包含byte串而非字符串,它们没有字符集的概念,排序和比较操作都是基于字节的数字值 bit 1 无符号[0,255],有符号[-128,127] blob Max:64K 二进制的对象,大小写敏感 char(M)  M 定长字符串 date 3 以YYYY-MM-DD的格式显示,比如:2009-07-19 da…
1.  数据库事务的四个特性及含义 数据库事务transanction正确执行的四个基本要素.ACID,原子性(Atomicity).一致性(Correspondence).隔离性(Isolation).持久性(Durability).原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样.一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏.隔离…
设计表规则: 0),数据库名字以db_开始,编码UTF8 1),表名都以tb_开始 2),字段都是用小写,比如是否删除is_delete 3),表都是innodb,utf8格式的 4),最重要的,表名,字段都要见名知道意思,不能用拼音 5),如果主键id是数字的,那就设为自增 6),建议一般表都要有一个id 6),建议一般表都要有create_time,update_time类型为datetime 7),不允许字段用NULL作为默认值(不为空的除外) 8),数据类型说明 一.整型:每一种都有无符…
[[TOC]] 常用操作指令 show databases:显示所有的数据库: use dbName: 使用指定数据库 show tables: 显示所有的数据表: desc tableName: 查看数据表的字段信息: show create table tableName: 查询创建表的所有信息: show create database dbName: 查看数据库创建指令: show full processlist: 查看所有进程 drop table tableName: 删除表 al…
验证mysql工作状态 systemctl status mysql.service 启动 sudo systemctl start mysql 停止 service mysql stop 重启mysql:/etc/init.d/mysql restart 登录 mysql -u root -p 重置密码:https://www.cnblogs.com/roadofstudy/p/7446690.html 列出 MySQL 数据库管理系统的数据库列表 SHOW DATABASES; mysql退…
1.如何登陆mysql数据库 mysql -u username -p 2.如何开启/关闭mysql服务 service mysql start/stop 3.查看mysql的状态 service mysql status 4.如何显示数所有数据库 show databases 5.如何获取表内所有字段对象的名称和类型 describe table_name; 6.MYSQL支持事务吗? 在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,m…
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的.因为,我们某些查询语句会让MySQL不使用缓存.请看下面的示例: // 查询缓存不开启 $r = mysql_query("SELECT username FROM us…
1. 请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别? 答: SQL标准定义的四个隔离级别为:read uncommited,read committed,repeatable read,serializable: 不同的隔离级别有不同的现象.主要有下面3种现在: 1.脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据. 2.非重复读(nonrepeatable read):在同一个事务中,同一个查询在T1时间读取某一行,在T2时间重…
1 定义 bin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存,描述了数据的更改过程,此日志对发生灾难时数据恢复起到了极为重要的作用. 2 开启 mysql默认是没有开发bin-log日志,首先我们需要开启bin-log日志,在my.cnf中修改 [mysqld] log_bin = mysql-bin datadir=/var/lib/mysql //指定数据文件存放目录,如二进制日志文件 查看二进制日志文件 cd /var/lib/mysql ls 由…
1. 数据库 查看数据库 show databases; 使用数据库 use [数据库名] 如:use mysql 创建数据库 CREATE DATABASE bruce DEFAULT CHARACTER SET utf8 删除数据库 drop database bruce 查询mysql版本 select version(); 查询当前用户 select user(); 显示当前库的所有表 show tables; 2. 用户 创建用户 create user ysb 赋予权限 GRANT…
1.mysql中InnoDB引擎中页的概念 2.mysql索引详解--如何从磁盘中读取索引文件…
说明1:监控MySQL服务器资源不止一种方式,这种nmon监控图形化.历史记录查询笔记方便,便于MySQL优化后,对比其效率不同,资源利用率不同. 说明2:摘抄自https://www.cnblogs.com/wnfindbug/p/5719181.html  对奉献着予以感谢! 一.检查安装环境 # uname –a (查看操作系统信息,所检查服务器为64位操作系统) Linux iZ94pmb2p24Z 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31…
1 SQL是什么? 答:是结构话语言,是一种操作关系型数据库的语言. 2 SQL语言分类? SQL语言 说明 举例 DDL 数据定义语言 create  drop DML 数据操作语言 insert  update  delete DQL 数据查询语言 select DCL 数据管理语言 grant  revoke TPL 事务处理语言 begin  transaction  commit  rollback CCL 指针控制语言 declear  cursor 3 数据类型? 整数:int,b…
前言 安装 使用 关于mysql程式的linux命令 启动mysqld 检查端口是否运行 查看数据库程式相关信息 查看mysql版本 查看配置文件位置 登陆mysql 修改密码 SQL命令 查看数据库内部相关信息 字符串(string) 字符串(string) 字符串(string) 字符串(string) 修改密码 使用命令 通用命令 数据结构 字符串(string) 哈希(hash) 队列(list) 集合(set) 有序集合(zset) 位图(bitcount) 使用 ddd 关于mysq…
1.缓存机制概念 缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql.如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空.更改指的是表中任何数据或是结构的改变,包括INSERT.UPDATE.DELETE.TRUNCATE.ALTER TABLE.DROP TABLE或DROP DATABASE等,也包括那些映射到改变了的表的使用MERGE表的查询.显然,这对于频繁更新的表,查询缓存是不适合的…
1.Mysql体系架构     2.MySQL文件结构 (1)参数文件:启动MySQL实例的时候,指定一些初始化参数,比如缓冲池大小.数据库文件路径.用户名密码等         -my.cnf读取优先级是从左自右的顺序,但是当默认读取路径都有配置文件时,最后读取的参数的值,会覆盖前面读取的参数的值         -/etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf~/.my.cnf  (2)日志文件:比如:错误日志.二进制日志.慢查…
一.不同版本多实例   0.软连接不同版本软件,修改环境变量 [root@db01 database]# ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql56[root@db01 database]# ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql80[root@db01 database]# mv /etc/my.cnf /etc/my.cnf.bak[root@db01 database]# vim…
MySQL多实例的配置 1. 创建需要目录 [root@db01 ~]# rm -rf /data/330{7..9}/data/*[root@db01 ~]# rm -rf /binlog/330{7..9}/data/*[root@db01 ~]# mkdir -p /data/330{7..9}/data[root@db01 ~]# mkdir -p /binlog/330{7..9} 2. 创建配置文件 cat > /data/3307/my.cnf <<EOF[mysqld]b…