MYSQL
文章平均质量分 85
mercies
这个作者很懒,什么都没留下…
展开
-
数据库索引
文章目录1. 为什么要使用索引2. 什么样的信息能成为索引3. 索引的数据结构4. 索引模块5. 索引如何优化sql6.联合索引的最左匹配原则的成因7. 索引是建立的越多越好吗?1. 为什么要使用索引全表扫描,很慢,数据量小适合。索引,例字典。关键信息组成了索引。2. 什么样的信息能成为索引主键,唯一键,普通键3. 索引的数据结构生成索引,建立二叉查找树进行二分查找,及其变种,平衡树,红黑树,查询中,每一个数据都会进行IO操作,IO次数多会比较慢生成索引,建立B-Tree结构进行查找原创 2021-02-26 11:08:15 · 112 阅读 · 0 评论 -
Maven
Maven项目标准结构目录用途${basedir}根目录,用于保存pom.xml${basedir}/src/main/javaJava源代码目录${basedir}/src/main/java/resources资料目录,保存配置文件,静态图片等${basedir}/src/test/java/测试类的源代码${basedir}/src/test/resources测试时需要使用的资源文件${basedir}/target项目输出的目录,用于原创 2020-11-26 21:50:05 · 70 阅读 · 0 评论 -
mysql之使用Commons DBUtils进行数据插入和查询
文章目录1. 数据查询操作2. 数据插入操作1. 数据查询操作 @Test /** * Apache DBUtils + Druid 联合使用演示 * 查询 */ public void demo1(){ // 1.创建属性对象 Properties properties = new Properties(); String propertyFile = DruidSample.class.getResourc原创 2020-11-26 16:13:52 · 273 阅读 · 0 评论 -
mysql之使用Druid连接池进行数据库操作
@Test /** * 1. 加载属性文件 * 2. 获取DataSource数据源对象 * 3. 创建数据库连接 */ public void demo1() { // 1. 加载属性文件 Properties properties = new Properties(); String propertyFile = DruidSample.class.getResource("/druid-config原创 2020-11-25 21:29:20 · 397 阅读 · 0 评论 -
mysql之批量修改数据
文章目录1. 对于某个字段,批量修改数据的方式2. jdbc中批量插入数据的方式2.1 jdbc中标准插入多条数据的方式2.2 jdbc中批量插入多条数据的方式1. 对于某个字段,批量修改数据的方式mysql> select * from emp;+----+----------+-----+------+-------+----------+| id | name | age | sex | depId | hiredate |+----+----------+-----+-原创 2020-11-25 21:19:35 · 6438 阅读 · 0 评论 -
mysql之jdbc中对Date日期类型的处理
Date类在sql中都是java.sql.Date类型,但是如果这个日期是手动输入作为变量来进行设置时,这时是java.util.Date类型,需要进行转化java.sql.Date.public static void main(String [] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入用户名称:"); String username = sc.next();原创 2020-11-25 16:43:22 · 1556 阅读 · 0 评论 -
mysql之数据的导入和导出
文章目录数据导出数据备份数据导出数据导入导入文本文件数据导出数据导出:导出的纯粹是业务数据数据备份数据备份:备份的是数据文件,日志文件,索引文件等数据导出数据导出可以导出成sql文件或者文本文件导出成sql文件:适合数据量小的情况因为导出的sql文件既包含表的结构,也包含表的数据。导出时,sql文件会把表中的结构全部都执行一遍。而且执行过程中还会进行优化,所以很耗时间。命令行导出sql文件:mysqldump -uroot -p [no-data] 逻辑库 > 路径C:\User原创 2020-11-24 18:54:25 · 174 阅读 · 0 评论 -
mysql之事务的隔离级别
文章目录1. read uncommitted 读取未提交数据2. read committed 读取已提交数据3. repeatable read 重复读 (系统默认的就是这个隔离级别)4. serializable 序列化1. read uncommitted 读取未提交数据例子:购票语法:SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED2. read committed 读取已提交数据例子:银行存取款语法:SET SES原创 2020-11-23 09:19:04 · 75 阅读 · 0 评论 -
mysql之c3p0连接池的使用之手动配置
手动设置连接池@Test /** * 手动设置连接池 */ public void demo1(){ // 创建连接池 ComboPooledDataSource dataSource = new ComboPooledDataSource(); //获得连接 Connection con = null; PreparedStatement pstat = null; R原创 2020-11-19 11:00:00 · 177 阅读 · 0 评论 -
mysql之jdbc工具类的抽取
package com.test.jdbc.utils;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;/** * jdbc工具类 */public class JDBCUtils { private static final String driverClass;原创 2020-11-18 18:50:12 · 115 阅读 · 0 评论 -
mysql之JDBC
文章目录1. 基本框架2.JDBC的例子3.JDBC的API-DriverManager的使用4.JDBC的API-Connection的使用4.JDBC的API-Statement的使用5.JDBC的API-ResultSet的使用1. 基本框架搭建开发环境编写程序,在程序中加载数据库驱动建立连接创建用于向数据库发送SQL的Statement对象从代表结果集的ResultSet中取出数据断开与数据库的连接,并释放相关资源2.JDBC的例子public void Demo1(){原创 2020-11-18 18:47:50 · 86 阅读 · 0 评论 -
mysql之常用函数
文章目录1. 数学函数1.1向上取整 CEIL()1.2 向下取整:FLOOR()1.3 四舍五入截取指定长度:ROUND()1.4 不进行四舍五入,直接进行截取TRUNCATE()1.5 生成随机数RAND(),生成0-1之间的随机数,且每次得到的不一样1.6 生成随机数RAND(数字),生成0-1之间的随机数,且每次得到的一样1.7 得到数字的符号:SIGN();1.8 计算e的N次方:EXP(N)2. 字符串函数2.1 CHAR_LENGTH():得到字符串的字符数‘2.2 -得到字符的长度LEN原创 2020-11-17 20:42:35 · 86 阅读 · 0 评论 -
mysql之自身连接查询
1. 自身连接查询无限级分类的实现形式就是一个类别写有很多个子类,每个子类下面可能还有子类…比如服装下还有男装,女装,男装下还有夹克,衬衫等首先创建一个表catemysql> CREATE TABLE cate( -> id SMALLINT UNSIGNED AUTO_INCREMENT KEY COMMENT '编号', -> cateName VARCHAR(100) UNIQUE NOT NULL COMMENT '分类名称', -> pI原创 2020-11-17 10:44:30 · 1035 阅读 · 0 评论 -
mysql之子查询,联合查询
文章目录大纲1. 由 IN [NOT IN] 引发的子查询2. 由比较运算符引出的子查询3. 由EXISTS引发的子查询4. 带有ANY、SOME、ALL关键字的子查询5. CREATE ...SET 和 INSERT ...SET6. 联合查询UNION 和 UNION ALL大纲1. 由 IN [NOT IN] 引发的子查询SELECT * FROM tbl_name WHERE 字段名称 IN (SELECT 字段 FROM 他tbl_name);mysql> SELECT * F原创 2020-11-17 09:55:20 · 94 阅读 · 0 评论 -
mysql之外键约束
文章目录1. 建表时创建外键2.动态删除外键3. 动态添加外键1. 建表时创建外键语法:[CONSTRAINT 外键名称]FOREIGN KEY(字段名称) REFERENCES 主表(字段名称)创建外键时,外键的字段的类型和主表中参照的字段的类型必须相似。如果是是数值型,那么类型要一致,而且无符号也要一致。如果是字符型,要求类型一致,长度可以不同。mysql> CREATE TABLE news_cate( -> id TINYINT UNSIGNED AUTO_原创 2020-11-16 20:33:45 · 110 阅读 · 0 评论 -
mysql之多表查询
文章目录1. 笛卡尔积形式2. 内连接3. 外连接3.1 左外连接3.2 右外连接创建两个表mysql> CREATE TABLE dep( -> id TINYINT UNSIGNED AUTO_INCREMENT KEY, -> depName VARCHAR(50) NOT NULL UNIQUE, -> depDesc VARCHAR(100) NOT NULL DEFAULT '' -> );Query OK, 0 rows af原创 2020-11-16 18:51:58 · 61 阅读 · 0 评论 -
mysql之数据表中数据的操作
文章目录1. 添加记录1.1 不指定字段名称1.2 一次插入多条记录1.3 INSERT ... SET 的形式2. 修改记录3. 删除记录4. 彻底清空数据表5. 查询记录5.1 WHERE条件进行查询5.2 检测null值5.3 [NOT]BETWEEN ...AND5.4 [NOT] IN()5.5 逻辑运算符 AND , OR, NOT5.6 [NOT] LIKE 模糊查询, 通配符 %, _5.7 GROUP BY5.8 group by 配合聚合函数来使用5.9 HAVING5.10 ORD原创 2020-11-16 14:31:51 · 116 阅读 · 0 评论 -
mysql之存储引擎
文章目录myISAM存储引擎InnoDB存储引擎myISAM存储引擎默认MyISAM的表会在磁盘中产生3个文件fixed 静态的测试mysql> CREATE TABLE test_myisam1( -> a INT UNSIGNED, -> c CHAR(32) -> )ENGINE=MyISAM;Query OK, 0 rows affected (0.08 sec)mysql> SHOW TABLE STATUS LIKE 'tes原创 2020-11-15 16:48:35 · 73 阅读 · 0 评论 -
mysql之表结构的修改
文章目录1. 添加字段2. 删除字段3. 一次进行多个操作4.动态添加默认值5.动态删除默认值6.动态修改字段的类型和属性7. 修改字段名称,字段类型和字段属性8. 添加主键字段9. 删除主键字段10. 添加unique11.删除unique修改数据表名称我们如果创建了一个表,但是现在需要多添加一个字段,你可以删除这个表,再重新创建一个表,但是这种方法比较麻烦,费时。那么就需要以下的方式1. 添加字段ALTER TABLE tbl_nameADD 字段名称 [字段完整性约束条件] [FIRST |原创 2020-11-15 15:55:20 · 400 阅读 · 0 评论 -
mysql之数据的完整性约束条件
文章目录创建表的时候需要指定有些字段的完整性约束条件1.unsigned2.ZEROFILL3.NOT NULL4.DEFAULT5.PRIMARY KEY6.AUTO_INCREMENT7.UNIQUE KEY8.FOREIGN KEY创建表的时候需要指定有些字段的完整性约束条件CREATE TABLE [IF NOT EXISTS] tbl_name(字段名称 字段类型 [完整性约束条件],字段名称 字段类型 [完整性约束条件],…)ENGINE=存储引擎 CHARSET=编码方式;1.u原创 2020-11-14 20:59:18 · 426 阅读 · 0 评论 -
mysql之数据的日期类型测试
文章目录TIME类型 占用字节3DATE类型 占用字节3两位的年份DATETIME类型 **占用字节8**TIMESTAMP类型 **占用字节4**YEAR类型 占用字节1TIME类型 占用字节3HH:MM:SS [D HH:MM:SS] D表示天数,范围是 0~34或者: HHMMSS这种形式mysql> SELECT * FROM test_time;+----------+| a |+----------+| 12:23:34 |+-------原创 2020-11-14 17:05:12 · 221 阅读 · 0 评论 -
mysql之数据的字符串类型测试
文章目录字符串类型数据测试TEXT类型和TINYTEXT,MEDIUMTEXT,LONGTEXT枚举类型(ENUM类型)集合类型(SET类型)ENUM和SET的区别:相同点:字符串类型数据测试char 为分配时为固定长度,当超过指定长度时,便会报错,不存入数据varchar分配时为指定数据长度+1,当超过指定长度时,便会报错,不存入数据mysql> CREATE TABLE test_str( -> a CHAR(5), -> b VARCHAR(5) -&原创 2020-11-14 13:22:35 · 241 阅读 · 0 评论 -
mysql之数据的浮点类型测试
文章目录浮点型对于默认的三种浮点型的小数位数值为浮点型对于float和double类型的数据,如果规定了小数点后几位,则数据在存入时会自动折断,且不报警告,而decimal数据 由于是对精度要求比较高的数据类型,它也会自动折断,但是会报一个警告。mysql> CREATE TABLE IF NOT EXISTS test_float( -> a FLOAT(6, 2), -> b DOUBLE(6, 2), -> c DECIMAL(6, 2)原创 2020-11-14 10:17:18 · 233 阅读 · 0 评论 -
mysql之表的创建
文章目录创建表创建表:查看当前数据库下已有数据表查看指定数据表的详细信息查看表的结构删除指定的数据表向数据表中插入数据查看数据表中的信息创建表数据表是数据库最重要的组成部分之一,数据是保存在数据表中。数据表由行(row)和列(column)来组成每个数据表中至少有一列,行可以有零行一行或者多行组成。表名要求唯一,不要包含特殊字符,最好含义明确。创建表:CREATE TABLE [IF NOT EXISTS] tbl_name(字段名称 字段类型 [完整性约束条件],字段名称 字段类型 [完原创 2020-11-13 16:37:34 · 221 阅读 · 0 评论 -
mysql之MYSQL中的数据类型
文章目录数值型字符串型日期时间型Mysql中的注释用 # 或者 --数值型整数型:浮点型:字符串型CHAR效率高于VARCHAR,CHAR相当于拿空间换时间,VARCHAR拿时间换空间CHAR默认存储数据的时候,后面会用空格填充到指定长度;而在检索的时候会去掉后面空格;VARCHAR在保存的时候不进行填充,尾部的空格会留下TEXT列不能有默认值,检索的时候不存在大小写转换日期时间型Mysql中的注释用 # 或者 –...原创 2020-11-13 10:32:40 · 64 阅读 · 0 评论 -
mysql之数据库的创建,使用,字符编码等常规操作
文章目录1.创建数据库创建数据库 语法1:创建数据库 语法2:查看上一句语句的警告信息显示数据库创建时的信息创建数据库语句3(创建数据库时指定编码方式)修改数据库的编码方式查看所有已存在的数据库删除数据库使用数据库查看当前使用的数据库1.创建数据库创建数据库 语法1:语法1: CREATE DATABASE 数据库名称;# 语法1: CREATE DATABASE 数据库名称;mysql> CREATE DATABASE db1;# Query OK, 1 row affected (0.原创 2020-11-13 10:19:27 · 566 阅读 · 0 评论