两个容易被忽略的mysql知识】的更多相关文章

原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误…
为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答. 这个问题我查了好多资料,有的…
在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么样的. MySQL查询知识树: 一.查询的方式 二.查询的原理 三.查询的应用场景 四.查询的效率比较 五.查询的优化 一.查询的方式 MySQL的查询可以分为交叉连接.内连接.外连接.自然连接.   下述对于连接查询的学习,会用到以下两张表: create table t_commodity_ty…
小白两篇博客熟练操作MySQL  之   第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. select * from ( select id name, from t1 where id > 2 ) as A where A.name > "kong"; 临时表查询 1. 创建视图 --格式:CREATE VIEW 视图名称 AS SQL语句 create view…
MySQL 文章目录 MySQL 表 锁 索引 连接管理 事务 日志系统 简单记录 极客时间 - MySQL实战45讲 MySQL知识图谱 表 表 引擎选择 编码问题 表空间管理 字段设计 备份和恢复 压缩表 分区表 锁 锁 全局锁 表锁 行锁 索引 索引 主键索引 唯一索引 前缀索引 选择策略 change buffer 空间利用率 索引设计 排序优化 连接管理 连接管理 长短连接 连接内存管理 并发管理 事务 事务 ACID和实现机制 隔离级别对业务的影响 count(*) 的实现和优化 大…
小白两篇博客熟悉操作MySQL  之   第一篇 一.概述 1. 什么是数据库? 答: 储存数据的仓库, 如: 在ATM的事例中创建的一个db 目录, 称为数据库 2. 什么是Mysql, Oracle, SQLite, Access, MS SQL Server等 ? 答: 他们均是一个软件, 都有两个主要的功能: a.将数据保存到文件或内存 b.接受特定的命令, 然后对文件进行相应的操作,统称为数据库管理系统(DBMS, Database Management System) 3. 什么是S…
笔者从事开发也有一段时间了,关于数据库方面的一些小知识在这里总结一下 1.count(*),count(1)与count(column)区别 count(*)对行的数目进行计算,包含NULL count(1)对行的数目进行计算,包含NULL count(column)对特定的列的值具有的行数进行计算,不包含NULL值. 所以count(1)这个用法和count(*)的结果是一样的. 注意: 如果表没有主键,那么count(1)比count(*)快. 如果有主键,那么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 后面的密码不要有空格 /使用该命令的…
一.子查询 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. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的.因为,我们某些查询语句会让MySQL不使用缓存.请看下面的示例: // 查询缓存不开启 $r = mysql_query("SELECT username FROM us…
本篇学习笔记的主要内容: 介绍MySQL支持的各种数据类型(常用),并讲解其主要特点.   MySQL支持多种数据类型,主要包括数值类型.日期和时间类型.字符串类型. 数值类型 MySQL的数值类型包括整数类型.浮点数类型.定点数类型.位类型. 整数类型 MySQL支持的整数类型有tinyint.smallint.mediumint.int.bigint(范围从小到大). zerofill 我们在定义整数类型时可以在类型名称后面的小括号内指定显示宽度,例如int(5),当插入的数值宽度小于5位时…
一.ADO连接mysql 1.安装mysql-5.5.20-win32.msi和mysql-connector-odbc-5.3.4-win32.msi(一般两个安装程序要匹配,否则可能连接不上)    然后:开始菜单->设置->控制面板->管理工具->数据源(ODBC)->系统DSN->添加->选择MySQL ODBC 5.3.4 Driver(下图是从百度经验拷贝过来,只供参考,mysql odbc版本不一定相同). 弹出建立连接的对话框,每一项的意思图中都给…
在使用Docker的时候我们会常常碰到这么一种应用,就是我需要两个或多个容器,其中某些容器需要使用另外一些容器提供的服务.比如这么一种情况:我们需要一个容器来提供mysql的数据库服务,而另外两个容器作为客户端来连接使用mysql数据库服务.下面我们就来看看Docker是怎样通过Link来实现这种功能的. 1. 这里我们首先创建两个容器image,一个用来模拟mysql数据库,另外一个使用mysql的client来模拟一些使用mysql服务的应用,这种应用可以是任何php,python,java…
https://yq.aliyun.com/articles/5533(死锁分析的很好的一篇文章) http://hedengcheng.com/?spm=5176.100239.blogcont5533.8.vaztis&p=771#_Toc374698322MySQL死锁问题分析,很全面,对比SQL Server,应该也会存在类似的问题.说死锁,多数时候的示例都是“不同表相同记录行锁冲突”,其实这仅仅占死锁现象的25%.如果为此算作“知道了”死锁,出现另外75%的可能性,还是一脸茫然与不解,…
layui table 对于后台json数据,有数字的,默认不会原样显示,而是只取数值,即100.00显示为100.如果想原样显示,需转为字符串. 项目采用mysql数据库,字段类型为decimal(10,2)时,即自动保留两位小数,不足补0,只需用cast函数转换即可:cast(num as char)…
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的知识面试中还是经常被问到的,简单的使用似乎无法达到面试官的要求,很多问题会关于Mysql存储引擎,所以这里还是需要系统学习一下Mysql的一些知识,面试过程中游刃有余. MySQL体系结构 MySQL是多个子系统构成的层次化的系统. a.Connectors:用来与客户端应用程序建立连接的数据库接口.(提供各种高级语言的版本,比如之前的Mysql-python-connector). b.Management Services & Utilities:系统管理与服务控制相关的辅助工具…
目录 下列PHP配置项中,哪一个和安全最不相关:() 字符串比较函数 格林时间 在PHP面向对象中,下面关于final修饰符描述错误的是( ) getdate()函数返回的值的数据类型是:( ) 关于mysql_pconnect说法正确的是?( ) 请看代码,数据库关闭指令将关闭哪个连接标识?( ) 值引用 static.self 阅读代码,给出解答. static作用 usort 自定义排序 glob 持续更新,记录一些值得关注的问题. 下列PHP配置项中,哪一个和安全最不相关:() A. o…
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)日志文件:比如:错误日志.二进制日志.慢查…
经过了上一篇的努力,成功的连上了远程的mysql数据库 dos 命令行下的成功连接 在用Navicat连接的时候要注意: 端口仍然是3306,而不用去更改,并不会和上面的本机的Mysql连接使用的端口冲突,因为这个3306指的是数据库在哪个机子上,就是占用的哪台机子上的3306端口,而不是指你要连接mysql数据库的时候,客户端机子的Navicat所在的那个机子端口. 两个数据库连接的端口是一样的…
一.基础架构 MySQL 可以分为 Server 层和存储引擎层两部分. Server 层包括连接器.查询缓存.分析器.优化器.执行器等,所有跨存储引擎 的功能都在这一层实现,比如存储过程.触发器.视图等. 而存储引擎层负责数据的存储和提取.支持 InnoDB.MyISAM等多个存储引擎.最常用的存储引擎是 InnoDB,从 MySQL 5.5.5 版本开始成为了默认存储引擎. 1.1 连接器 首先,连接器负责跟客户端建立连接.获取权限.维持和管理连接.连接命令一般是 mysql -h 11.2…
今日内容概要 表字段操作补充(掌握) 视图(了解) 触发器(了解) 事务(掌握) 存储过程(了解) 内置函数(了解) 流程控制(了解) 索引(熟悉) 内容详细 1.表字段操作补充 # 1.添加表字段 alter table 表名 add 字段名 字段类型 约束条件; # 默认尾部追加 alter table 表名 add 字段名 字段类型 约束条件 after 已经存在的字段名; # 添加字段到指定的字段之后 alter table 表名 add 字段名 字段类型 约束条件 first; # 添…
1.PHP函数之判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在.同样的method_exists可以用来检测类的方法是否存在. function func() { } if (function_exists('func')){ echo 'exists'; } 类是否定义可以使用class_exists class MyClass{ } // 使用前检查类是否存在 if (clas…
Java IO(不是一般的重要) 54.IO中的流:字节流(InputStream.OutputStream).字符流(Reader.Writer).转换流(InputStreamReader.OutputStreamWriter).压缩流(zipXxx()).管道流(PipedInputStream.PipedOutputStream).内存流(ByteArrayInputStream.ByteArrayOutputStream).合并流(SequenceInputStream).数据操纵流(…