MySQL
MYSQL
西西ANO
Ano's world
展开
-
18-MySQL-数据库连接池
MySQL -> 数据库连接池 编写连接池,实现一个接口——DataSource 开源数据源实现(拿来即用) DBCP C3P0 Druid : 阿里巴巴 使用里这些数据库连接池之后,我们在项目开发中就不需要编写连接数据库的代码了 1. DBCP 需要用到的jar包 commons-dbcp-1.4 :连接池的实现 commons-pool-1.6 :连接池实现的依赖库 dbcpconfig.properties #连接设置 driverClassName = com.mys原创 2021-01-27 23:53:21 · 66 阅读 · 1 评论 -
17-MySQL-JDBC操作事务
MySQL -> JDBC操作事务 ACID 代码实现 1.开启事务 2.一组业务执行完毕,提交事务 3.可以在catch语句中显示定义回滚rollback语句,但默认失败就会回滚 import com.anobabe.lesson02.utils.JdbcUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExcep原创 2021-01-20 23:54:44 · 90 阅读 · 0 评论 -
16-MySQL-JDBC-SQL注入问题及PreparedStatement对象
MySQL -> JDBC -> SQL注入问题、PreparedStatement对象 1. SQL注入问题 sql存在漏洞,会被攻击导致数据泄露; 本质:sql会被拼接 or 实例: import com.anobabe.lesson02.utils.JdbcUtils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Stateme原创 2021-01-20 22:15:59 · 102 阅读 · 0 评论 -
15-MySQL-JDBC-Statement对象详解
MySQL -> JDBC -> Statement对象详解 Statement对象: JDBC中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可; Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数,即增删改语句导致了数据库几行数据发生了改变; Statement对象的executeQuery方法用于向数据库发送查询原创 2021-01-20 00:50:03 · 294 阅读 · 0 评论 -
14-MySQL-JDBC-数据库驱动、JDBC 、 第一个JDBC程序
MySQL -> 数据库驱动、JDBC 、 第一个JDBC程序 1. 数据库驱动 驱动:声卡、显卡、数据库 程序会通过数据库驱动,和数据库打交道 2. JDBC SUN公司为了简化开发人员(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称JDBC,这些规范的实现由具体的厂商做 对于开发人员来说,只需要掌握JDBC接口的操作即可 java.sql javax.sql 还需导入一个数据库驱动包 mysql-connector-java-5.1.47.jar 3. 第一个JDBC程原创 2021-01-18 23:46:00 · 111 阅读 · 0 评论 -
13-MySQL-规范数据库设计、数据库的三大范式
MySQL -> 规范数据库设计、数据库的三大范式 1. 规范数据库设计 1.1 为什么需要设计数据库? 当数据库比较复杂时,就需要设计了 糟糕的数据库设计 良好的数据库设计 数据冗余,浪费空间 节省内存空间 数据库插入和删除都麻烦、异常(屏蔽使用物理外键) 保证数据库的完整性 程序的性能差 方便我们开发系统 软件开发中,关于数据库的设计: 分析需求:分析业务和需要处理的数据库的需求 概要设计:设计关系图E-R图 1.2 设计数据库的基本步骤 (以个人博客为原创 2021-01-18 23:45:33 · 93 阅读 · 0 评论 -
12-MySQL-权限管理和备份
MySQL -> 权限管理和备份 1. 用户管理 SQLyog可视化中的用户管理: SQL 命令操作: 用户表:mysql.user 本质:对这张表进行增删改查 -- 创建用户 CREATE USER 用户名 IDENTIFIED BY '密码' CREATE USER anobabe IDENTIFIED BY '123456' -- 修改密码 当前用户 SET PASSWORD = PASSWORD('111111') -- 修改密码 指定用户 SET PASSWORD FOR原创 2021-01-10 20:50:19 · 67 阅读 · 0 评论 -
11-MySQL-索引的分类、测试索引、索引原则
MySQL -> 索引 -> 索引的分类、测试索引、索引原则 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构。 提取句子主干,就可以得到索引的本质——索引是数据结构。 1. 索引的分类 在一个表中,主键索引只能有一个,唯一索引可以有多个 主键索引 PRIMARY KEY 唯一的标识,主键不可重复,只能有一个列作为主键 唯一索引 UNIQUE KEY 避免重复的列出现,唯一索引可以重复,多个列都可以标志为唯一索引 常规索引 K原创 2021-01-10 16:03:00 · 86 阅读 · 0 评论 -
10-MySQL-事务的ACID原则、隔离级别、测试事务实现转账
MySQL -> 事务 -> ACID原则、隔离级别、测试事务实现转账 1. 什么是事务 要么都成功,要么都失败 例子: ① SQL执行:A给B转账200 转账前: A 1000元 B 200元 ②SQL执行:B收到A的转账 转账后: A 800元 B 400元 核心:将一组SQL放在一个批次中去执行 2. 事务的ACID原则 ACID:原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability (可能会出现脏读原创 2021-01-09 23:00:57 · 195 阅读 · 0 评论 -
9-MySQL-拓展-数据库级别的MD5加密
MySQL -> 拓展 -> 数据库级别的MD5加密 MD5信息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 主要增强算法复杂度和不可逆性; MD5 不可逆,具体的值的MD5是一样的; MD5破解网站的原理:背后有一个字典 —— MD5加密后的值,加密前的值 CREATE TABLE `testmd5`( `id` INT(4) NOT原创 2021-01-09 23:00:25 · 119 阅读 · 0 评论 -
8-MySQL-常用函数和聚合函数
MySQL -> 函数 官网:https://dev.mysql.com/doc/refman/5.7/en/sql-function-reference.html 1. 常用函数 -- 数学运算 SELECT ABS(-8) -- 绝对值8 SELECT CEILING(9.4) -- 向上取整10 SELECT FLOOR(9.4) -- 向下取整9 SELECT RAND() -- 0~1随机数 SELECT SIGN(10) -- 判断参数的符号 0:0 负数:-1 正数:1 --原创 2021-01-09 17:31:37 · 187 阅读 · 0 评论 -
7-MySQL-DQL语言-分页、排序、子查询、分组和过滤
MySQL -> DQL查询数据 -> 分页、排序、子查询、分组和过滤 1. 分页和排序 回顾一下SELECT语法:顺序不能换 SELECT [ALL | DISTINCT] {* | table.* | [table.field1 [AS alias1][,table.field2][AS alias2]][,...]} FROM table_name [AS table_alias] [LEFT | RIGHT | INNER JOIN table_name2] [WHERE ...]原创 2021-01-09 17:31:03 · 96 阅读 · 0 评论 -
6-MySQL-DQL语言-WHERE子句、模糊查询、联表查询、自连接
MySQL -> DQL查询数据 -> WHERE子句、模糊查询、联表查询、自连接 1. WHERE条件子句 作用:检索数据中符合条件的值 逻辑运算符: 运算符 语法 描述 and && a and b a && b 逻辑与,两个都为真,结果为真 or || a or b a || b 逻辑或,其中一个为真,则结果为真 Not ! not a ! a 逻辑非,真为假,假为真 SELECT `StudentNo`,`S原创 2021-01-05 23:39:36 · 114 阅读 · 0 评论 -
5-MySQL-DQL语言-基本的SELECT语句和去重
MySQL -> DQL查询数据 -> 基本的SELECT语句和去重 1. DQL DataBase Query Language:数据库查询语言 所有的查询操作都用它 SELECT 简单的查询、复杂的查询都可以做到 数据库中最核心的语言,最重要的语句 使用频率最高的语句 2. 指定查询字段 简单查询 -- 查询全部的学生 SELECT 字段 FROM 表名 SELECT * FROM student SELECT * FROM result -- 查询指定字段 SELECT `St原创 2020-12-22 23:43:42 · 309 阅读 · 0 评论 -
4-MySQL-MySQL数据库管理-外键和DML语言
MySQL -> MySQL数据管理 DML语言 1. 外键 方式1:在创建表的时候,增加约束 CREATE TABLE `grade`( `gradeid` INT(4) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(10) NOT NULL DEFAULT '大一' COMMENT '年级名称', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=u原创 2020-12-20 22:00:22 · 116 阅读 · 0 评论 -
3-MySQL-MyISAM和InnoDB
MySQL -> MyISAM和InnoDB -- 关于数据库引擎 /* INNODB 默认使用 MYISAM 早些年使用 */ MYISAM INNODB 事务支持 不支持 支持 数据行锁定 不支持行锁定 支持表、行(默认)锁定 外键约束 不支持 支持 全文索引 支持 不支持 表空间的大小 较小 较大。约为2倍 常规的使用操作: MYISAM 节约空间,速度较快; INNODB 安全性高,支持事务的处理,多表多用户操作。 在物理空间存在的位置: 所有的原创 2020-12-20 21:59:50 · 67 阅读 · 0 评论 -
2-MySQL-基本数据库操作
MySQL -> 基本的操作数据库 1. 连接数据库 命令行连接 C:\Users\Jiao Wang>mysql -uroot -p123456 --连接数据库 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id原创 2020-12-20 21:59:24 · 73 阅读 · 0 评论 -
1-MySQL-初识MySQL、安装MySQL和SQLyog
MySQL -> 初识MySQL、安装MySQL和SQLyog 1. 什么是数据库 DB,DataBase 概念:数据仓库,软件,安装在操作系统之上,可以存储大量的数据。 作用:存储数据、管理数据 2. 数据库分类 关系型数据库:(SQL) MySQL、Oracle、SQL Server、DB2、SQLlite 通过表和表之间,行和列之间的关系进行数据的存储 非关系型数据库:(NoSQL, Not Only SQL) Redis、MongDB 以对象存储,通过对象自身的属性来决定原创 2020-12-17 00:43:39 · 262 阅读 · 0 评论