随笔分类 - MySQL
摘要:数据库连接 执行完毕 释放 连接 -- 释放 十分浪费系统资源 池化技术:准备一些预先的资源,过来就连接预先准备好的 最小连接数: 10 最大连接数:15 等待超时:100ms 编写连接池,实现一个接口 DataSource 开源数据源实现(拿来即用) DBCP C3P0 Druid:阿里巴巴 使用
阅读全文
摘要:事务 要么都成功,要么都失败 ACID原则 原子性:要么全部完成,要么都不完成 一致性:总数不变 隔离性:多个进程互不干扰 持久性:一旦提交不可逆,持久化到数据库了 隔离性的问题: 脏读:一个事务读取了另一个没有提交的事务 不可重复读:在同一个事务内,重复读取表中的数据,表数据发生了改变 虚读(幻读
阅读全文
摘要:使用IDEA连接数据库 连接成功后,可以选择数据库 双击数据库 更新数据
阅读全文
摘要:PreparedStatement可以防止SQL注入。效率更高! 1、新增 package com.hua.lesson03; import com.hua.lesson02.utils.JdbcUtils; import java.sql.Connection; import java.util.
阅读全文
摘要:statement对象 jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查语句即可。 Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行
阅读全文
摘要:第一个JDBC程序 创建测试数据库 CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci; USE `jdbcStudy`; CREATE TABLE `users`( `id` INT PRIMARY KEY,
阅读全文
摘要:JDBC(重点) 1、数据库驱动 驱动:声卡、显卡、数据库 我们程序会通过 数据库 驱动,和数据库打交道! 2、JDBC SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称JDBC 这些规范的实现由具体的厂商去做~ 对于开发人员来说,我们只需要掌握JDB
阅读全文
摘要:三大范式 为什么需要数据规范化 信息重复 更新异常 插入异常 无法正常显示信息 删除异常 丢失有效的信息 三大范式(了解) 第一范式(1NF) 原子性:保证每一列不可再分 第二范式(2NF) 前提:满足第一范式 每张表只描述一件事情 第三范式(3NF) 前提:满足第一范式和第二范式 第三范式需要确保
阅读全文
摘要:规范数据库设计 9.1、为什么需要设计 当数据库比较复杂的时候,我们就需要设计了 糟糕的数据库设计: 数据冗余, 浪费空间 数据库插入和删除都会麻烦、异常[屏蔽使用物理外键] 程序的性能差 良好的数据库设计: 节省内存空间 保证数据库的完整性 方便我们开发系统 软件开发中,关于数据库的设计 分析需求
阅读全文
摘要:MySQL备份 为什么要备份: 保证重要的数据不丢失 数据转移 MySQL数据库备份的方式 直接拷贝物理文件 在sqlyog这种可视化工具中手动导出 在想要导出的表或者库中,右键,选择备份或导出 使用命令行导出 mysqldump 命令行使用 # mysqldump -h 主机 -u 用户名 -p
阅读全文
摘要:用户管理 SQlyog可视化管理 SQL命令操作 用户表:mysql.user 本质:对这张表进行增删改查 -- 创建用户 CREATE USER 用户名 IDENTIFIED BY '密码' CREATE USER yangbuhui IDENTIFIED BY '123456' -- 修改密码
阅读全文
摘要:索引原则 索引不是越多越好 不要对经常变动数据加索引 小数据量的表不需要加索引 索引一般加在常用来查询的字段上! 索引的数据结构 Hash类型的索引 Btree:InnoDB的默认数据结构~ 阅读:http://blog.codinglabs.org/articles/theory-of-mysql
阅读全文
摘要:索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 索引的分类 在一个表中,主键索引只能有一个,唯一索引可以有多个 主键索引 (PRIMARY KEY) 唯一的标识,主键不可重复,只能有一个列作为主键 唯
阅读全文
摘要:什么是事务 要么都成功,要么都失败 1、SQL执行 A给B转账 A 1000 > 200 B 200 2、SQL执行 B收到A的钱 A 800 --> B 400 将一组SQL放在一个批次中去执行~ 事务原则:ACID性 原子性,一致性,隔离性,持久性 (脏读,幻读....) 参考博客链接:http
阅读全文
摘要:数据库级别的MD5加密(拓展) 什么是MD5? 主要是增强算法复杂度和不可逆性 MD5不可逆,具体的值得MD5是一样的 MD5破解网站的原理,呗背后有一个字典,MD5加密后的值 ,加密的前值 -- 测试MD5 加密 CREATE TABLE `testmd5`( `id` INT(4) NOT NU
阅读全文
摘要:聚合函数(常用) 函数名称描述 COUNT() 计数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 ...... ...... -- 聚合函数 -- 都能够统计 表中的数据(想查询一个表中有多少个记录,就使用这个count()) SELECT COUNT(studen
阅读全文
摘要:MySQL函数 官网:https://dev.mysql.com/doc/refman/5.7/en/ 常用函数 -- 常用函数 -- 数学运算 SELECT ABS(-8) SELECT CEILING(9.4) -- 向上取整 SELECT FLOOR(9.4) -- 向下取整 SELECT R
阅读全文
摘要:分组和过滤 -- 查询不同课程的平均分,最高分,最低分 -- 核心:(根据不同的课程分组) SELECT `subjectname`,AVG(`studentresult`) AS 平均分,MAX(`studentresult`) AS 最高分,MIN(`studentresult`) AS 最低分
阅读全文
摘要:子查询 -- where -- 1、查询数据库结构-1的所有考试结果(学号,科目编号,成绩),降序排列 -- 方式一:使用连接查询 SELECT r.`studentno`,r.`subjectno`,`studentresult` FROM result r INNER JOIN `subject
阅读全文