数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有专门的DBA写上述 mysql内核 sql优化工程师 mysql服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容灾备份 sql编程 mysqlLinux版的安装 mysql5.5 下载地址:https://dev.mysql.com/downloads/mysql/5.5.ht…
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values('c007', '分类')"; Statement 语句执行者代码: Statement stmt = con.createStatement(); 常用方法: 执行SQL语句 int executeUpdate(String sql): ——执行insert, update delete 语句.(…
MySQL安装完毕后没有图形化操作界面,图形化管理界面需要另行安装,个人比较喜欢Navicat,界面更像SQLserver: 此篇学习笔记所有操作均使用命令行中完成: 1.开启/停止服务 使用MySQL先确认服务已开启 1)开启服务 net start mysql 2)停止服务 net stop mysql 注意:这里的‘mysql’既安装MySQL时填写的服务名,在MySQL5.7版本安装时的默认服务名是mysql57,安装时可以自行对服务名命名. **********************…
一.Mysql安装方式 1.安装方式 1.rpm,yum安装 安装方便,安装速度快,但无法定制 2.二进制安装 不需要安装,解压即用,不能定制功能 3.编译安装 可定制,安装很慢,安装分为四个步骤 1.1 解压(tar) 1.2 生成(./configure)或者cmake 1.3 编译(make) 1.4安装(make install) 在5.5版本之前 tar ./configure make make install,在5.5版本之后则是cmake 或者gmake 4.可以先编译,然后定制…
一.存储引擎介绍 1.我们知道mysql程序构成由连接层,sql层,存储引擎层.存储引擎层和磁盘进行交互,由其去取数据,而我们取得数据是表的形式展现出来,谁做的呢?就是存储引擎结构化成表的形式返回给用户. 2.我们都知道什么是文件系统(操作系统组织和存储数据的一种机制,一种软件),文件系统类型有许多种(xfs,ext2等),而存储引擎则类似于文件系统,不过功能更多,不仅仅用于提供基本的存取功能,还有更多功能事务功能.锁定.备份和恢复.优化.故障恢复以及特殊功能 二.MySQL自带的存储引擎类型…
前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载.而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失. 本文提纲 一.主从复制的概念 二.配置主从复制 MySQL主从复制(读写分离)和集群的区别: 一.主从复制相关概念 (读写分离):一般需要两台及以上数据库服务器即可(一台用于写入数据,一台用于同步主的数据并用于…
MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum -y install ncurses-devel libaio-devel cmake gcc gcc-c++ bison perl-Time-HiRes 下载安装boost 下载, 解压 mysql 下载包 # wget http://nchc.dl.sourceforge.net/project/…
MYSQL架构理解 通过对MYSQL重要的几个属性的理解,建立一个基本的MYSQL的知识框架.后续再补充完善. 一.MYSQL架构 这里给的架构描述,是很宏观的架构.有助于建立对MYSQL整体理解. 1. 架构图 以下是在网上找的两张MYSQL架构图.能反映MYSQL的结构. 结构基本一致,都是连接.服务和存储引擎三部分. 2.分层实现 MYSQL大致分为3个层次.连接层.服务层和引擎层.连接层功能是客户端的链接服务.服务层完成缓存查询.SQL分析.SQL优化.引擎层真正负责MYSQL数据的存储…
大概在一周前看了燕十八老师讲解的mysql数据库视频,也跟着学了一周,我就想把我这一周所学的知识跟大家分享一下:因为是第一次写博客,所以可能会写的很烂,请大家多多包涵.文章中有不对的地方还请大家指出来,我会加以改正. 我们先来学习对数据库进行连接并且对表进行最基本的增删改查: 先来进行对数据库服务器的连接和登录: 在命令行键入:mysql -uroot -p 然后输入密码,如果忘记密码的话也可以进行下面的操作: 开始学习对库进行基本的操作的语句: 首先就是要查看我们的客户端有哪些库:show d…
一.数据库mysql的特点 1.首先数据库分为RDBMS(关系型数据库),和NOSQL(非关系型数据库),而我们的mysql则是RDBMS. 2.RDMS和NOSQL特点对比 RDBMS特点: (1)二维表的形式展示 (2)使用率非常大,例如传统企业上使用的orcale,以及最新互联网企业的mysql (3)数据库存取可以通过sql语句 (4)安全性十分的高 (5)产品多样,例如市面上常见的mysql,oracle,mariadb,mssql(sqlserver) NOSQL的特点: (1)不仅…
1.工作台用户Authentication配置 JBPM web工作台预安装了用户认证与授权模块,位于jbpm-console-7.1.0.Final-wildfly-10.1.0.Final.war文件内:WEB-INF/jboss-web.xml 用户名.密码.角色默认用property文件进行配置; 配置位置: <security-realms> <security-realm name="ManagementRealm"> <authenticat…
这次我们来说一下在Mysql中的编码问题: 我们知道应用于计算机的最早的字符集是ASCII,它所组成的编码是ASCII编码:由于对于其他国家来说它所容纳的字符个数比较少,后来就出现了ANSI字符集,它的编码就是本地编码,由于各个国家的本地编码不相同,导致互相不兼容,最后就出现了Unicode字符集,它规定全世界通用一张码表,用4个字节来编号,但是我们常用的字符集中在前65535个编号里,用两个字节就够了,那么我们就可以简化编码,比如: unicode用0000 0000 0000 0000 00…
mysql中的统计函数: 1. 查询商品价格中最高的价格: select max(shop_price) from goods; 2. 查询商品价格中最低的价格: select min(shop_price) from goods; 3. 求库存总量: select sum(goods_number) from goods; 4. 查看所有商品的平均价格: select avg(shop_price) from goods; 5. 统计商城内共有多少种商品(不是多少个): select coun…
五种基本子句查询 查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询: 首先我们先建立一张商品表:goods 由于商品数目太多,我就不一一列举了. 在这里我说一下这些列名都是什么意思: goods_id 主键:goods_name 商品名称:cat_id 商品所属栏目:goods_nummber 商品库存:shop_price 本店价格:market_pprice 市场价格:click_count 点击量. 我们取出主键为32的商品: ;; 我们注意,…
我们今天来进行建表的基本操作: 首先要建表就要了解列类型,因为建表就是声明列的过程,列声明完成了,表也就建好了. mysql中列分为三大类: 一.数值型 数值型又分为整型和浮点型两种. 先来看整型: tinyint:占据空间:1个字节:存储范围:带符号数:-2^7(-128)~2^7-1(127),无符号数:0~255 smallint:占据空间:2个字节:存储范围:带符号数:-2^15(-32768)~2^15-1(32767),无符号数:0~65535 mediumint:占据空间:3个字节…
正则表达式(REGEXP) 1.简介 正则表达式是用来匹配列值的特殊字符集合,许多领域都有涉及, MySQL使用的正则表达式仅为其一个小小的子集. 2.基本字符匹配 2.1筛选包含特定字符串的信息 //搜索id包含'001'的所有学生信息 select * from Student where id regexp '001'; 注:regexp匹配列值字串,而like匹配整个列值,这是二者的重要区别.如: //搜索id是'001'的学生的信息 select * from Student wher…
课程已全部学完,Redis\mongoDB 的学习也会提上日程啦~剩下的最大的最大的问题在于练习,大量的练习,后期会发我的学习记录. 小记:也不知道是不是加强针的缘故,老是拉肚子,记录彻底感冒的一天,话说刚打完加强针可以吃感冒药吗....…
我们在建表的时候通常会在最后声明引擎类型,这次我们就来看看存储引擎都有哪些: 举个例子: --------------------------- 银行转账: 张三想给李四转500元钱: 张三-500 李四+500 这两步必须都完成,转账才完成 --------------------------- 像这种,2步或N步必须都完成,从逻辑上讲,是一个‘原子操作’,即要么成功,要么都不成功 那么如何保障这种特性? 答:事务 我们先建两张不同引擎的表,分别是b1,b2: 插入数据: 我们来体现innod…
视图:view 在查询的时候我们经常把查询到的结果当成一张临时表来看,其实view就可以看成一张虚拟表,是表通过某种运算得到的投影 那么如何创建视图?创建视图需要指定视图的列名和列类型吗? 答:不用,它只是一种关系 既然视图只是表的某种查询得到的投影,所以主要步骤在于查询表上,查询到的结果命名为视图就行了. 创建视图的语法很简单: Create view 视图名 As Select 语句 举个栗子:我们想查询每个栏目下面商品的平均价格,然后取出平均价格前3高的栏目,应该怎么做? select c…
子查询:又分为where型子查询,from型子查询,exists型子查询这三类. where型子查询:指把内层查询的结果作为外层查询的比较条件: 举个例子: 我们想查出goods_id最大的商品,要求不能用排序: select goods_id,goods_name,cat_id,shop_price from goods where goods_id=(select max(goods_id)from goods); 我们还想查出每个栏目下goods_id最大的商品,要求使用where型子查询…
我们来说一下表的增删改查的基本语法: 首先建立一个简单的薪资表: create table salary(id int primary key auto_increment,sname varchar(10) not null default ' ',gender char(1) not null default ' ',company varchar(20) not null default ' ',salary decimal(6,2) not null default 0.00,fanbu…
学习于慕课网 http://www.imooc.com/video/1806 1.方法一: cmd中处于未登录状态时,输入 mysql -uroot -p自己的密码 --prompt 新的提示符 示例:mysql -uroot -p111111 --prompt \h 111111为自己的密码,\h指的是localhost 2.方法二: cmd中处于登录状态时,输入 prompt 新的提示符 示例: 3.提示符可以用的参数: 1)\D :完整的日期 2)\d :当前数据库 3)\h :当前主机名…
本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL锁问题的一些方法或建议. 一.MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁:InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是…
在前面讲了MySQL的初步使用方法以后,在这里放出来一些案例来看看怎么做. 先看看database的结构,一共5个表 外键关系: class的cid是student的class_id的外键,teacher表的tid是course的teacher_id的外键,student表的sid和course表的cid是score表的student_id和course_id的外键,student_id和course_id是联合唯一索引. 写的可能不太清楚,大概就是这么个关系,数据没有完全列出来. 表的创建和数…
最近读一份关于“数据库事务故障恢复"的技术资料,发现对mysql的binlog的认识不够清楚,查阅mysql reference manual有所收获,作为笔记,记录于此. 1. What's binlog         binlog即binary log,根据mysql文档的说明,binlog包含一系列描 述数据库状态变更的"events"(如table create或insert/update等操作),也包含可能对数据库造成潜在更新的"events"…
一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情况下是采用行级锁. MySQL主要的两种锁的特性可大致归纳如下: 表级锁: 开销小,加锁快:不会出现死锁(因为MyISAM会一次性获得SQL所需的全部锁):锁定粒度大,发生锁冲突的概率最高,并发度最…
本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型.  ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定哪个数据类型是最好的,就选择不会超出范围的最小类型. 2. 简单就好.优先选择MySQL内建的类型而不是字符串来存储日期,时间. 3. 尽量避免NULL.可为NULL的列会使得索引的优化比较复杂. *********************************************** 一:数…
一. 连接数据库 a. //用户名:密码@[连接方式](主机名:端口号)/数据库名 db,_:=sql.Open("mysql","root:7758521123jf@(127.0.0.1:3306)/itcast) b. import ( _ "github.com/go-sql-driver/mysql" ) c. db.Ping():连接数据库 d. defer db.Close():关闭数据库 二.操作一:执行数据操作语句 1. sql:=&quo…
安装完mysql后我们能够进行sql语句的操作: 我们能够使用下面命令连接到MySQL服务: mysql -h localhost -u root -p -h參数指定要连接的MySQLserver地址 -u參数指定连接所使用的用户 -p參数指定使用password验证登陆 MySQL服务绝大多数功能使用SQL语言进行管理. SQL语言一般约定俗成使用大写.可是语言本身不大小限制写.差点儿全部SQL语句都必须以";"结尾. 列出全部数据库: SHOW DATABASES; 创建一个数据库…
一.MySQL游标的概念 游标介绍: MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果. 先有数据基础:游标是在先从数据表中检索出数据之后才能继续灵活操作的技术.   类似于指针:游标类似于指向数据结构堆栈中的指针,用来pop出所指向的数据,并且只能每次取一个. 游标优缺点: 游标的优点: 因为游标是针对行操作的,所以对从数据库中select查询得到的每一…