随笔分类 -  数据库

摘要:单行函数与分组函数 单行函数 # 字符串 # 大小写操作函数 LOWER('SQL Test'); UPPER('SQL I Course'); # 字符操作 CONCAT('Hello', 'World'); SUBSTR('HelloWorld',1,5); LENGTH('HelloWorld 阅读全文
posted @ 2022-04-28 15:51 Oh,mydream! 阅读(28) 评论(0) 推荐(0)
摘要:sql语句简单优化 1. 避免使用*号 *在解析的过程中首先会转换成所有的列名,并通过查询数据字典完成,会消耗更多的时间 2.使用别名 能精确查找表的字段,避免多个表中字段相同的情况 3.where 子句中的连接顺序 where子句是先执行后面的子句,从右往左执行,应该把能缩小范围的语句放在后面 4 阅读全文
posted @ 2022-04-28 15:50 Oh,mydream! 阅读(54) 评论(0) 推荐(0)
摘要:java 实现事务 使用prepareStatement取代Statement 原因:prepareStatement可以避免sql注入且更加高效 开启事务 connection.setAutoCommit(false) 关闭自动提交的同时开启事务 package com.kuang.databas 阅读全文
posted @ 2022-01-05 20:57 Oh,mydream! 阅读(611) 评论(0) 推荐(0)
摘要:第一个JDBC程序 什么是JDBC JDBC(Java Database Connectivity)java数据库连接。 数据库比如mysql, oracle只负责存储,数据库的操作是通过驱动,每个数据库都有自己的驱动,数据库不同的 版本有不同的版本驱动,应用程序访问数据库不可能为每一套数据库单独编 阅读全文
posted @ 2022-01-05 11:09 Oh,mydream! 阅读(48) 评论(0) 推荐(0)
摘要:关系型数据库设计:三大范式的通俗理解 文本引用自 https://www.cnblogs.com/wsg25/p/9615100.html 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美 阅读全文
posted @ 2022-01-04 17:19 Oh,mydream! 阅读(269) 评论(0) 推荐(0)
摘要:mysql备份 再命令行中输入 # -h主机地址 -u用户名 -p密码 数据库名 [表名1 表名2 表名3...] > 存储位置 多个表用空格隔开 不加表名则导出整个数据库 mysqldump -hlocalhost -uroot -p123456 school student > D:/a.sql 阅读全文
posted @ 2022-01-04 12:04 Oh,mydream! 阅读(35) 评论(0) 推荐(0)
摘要:用户管理 -- 创建用户 CREATE USER Ohmydream IDENTIFIED BY '123456'; -- 修改当前用户密码 SET PASSWORD = PASSWORD('123456'); -- 修改指定用户密码 SET PASSWORD FOR Ohmydream = PAS 阅读全文
posted @ 2022-01-04 11:44 Oh,mydream! 阅读(40) 评论(0) 推荐(0)
摘要:索引原则 四条原则 索引不是越多越好 不要对经常变动的数据加索引 小数据量的表不需要加索引 索引一般加在常用来查询的字段上 延伸学习 索引的数据结构 hash类型的索引 Btree: innoDB 默认的数据结构 扩展阅读 http://blog.codinglabs.org/articles/th 阅读全文
posted @ 2022-01-04 10:50 Oh,mydream! 阅读(51) 评论(0) 推荐(0)
摘要:数据库索引 mysql官方对索引的定义:索引(index)是帮助mysql高效获取数据的数据结构。 索引 的分类 主键索引(primary key) 一个表只能有一个主键索引,一般表内的id字段设置为主键 唯一索引(unique key) 一个表可以有多个唯一索引,唯一索引的列数据不可重复,例如身份 阅读全文
posted @ 2022-01-04 10:34 Oh,mydream! 阅读(94) 评论(0) 推荐(0)
摘要:测试事务实现转账 -- 测试事务实现转账 CREATE DATABASE shop CHARACTER SET utf8 COLLATE utf8_general_ci; USE shop CREATE TABLE `account` ( `id` INT(8) AUTO_INCREMENT NOT 阅读全文
posted @ 2022-01-03 20:07 Oh,mydream! 阅读(54) 评论(0) 推荐(0)
摘要:事务的ACID原则和脏读、不可读、幻读 https://blog.csdn.net/dengjili/article/details/82468576 事务的ACID原则 原子性(atomicity) 一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性 一致性 阅读全文
posted @ 2022-01-03 11:01 Oh,mydream! 阅读(81) 评论(0) 推荐(0)
摘要:select总结 select [all | distinct] -- 去重可选 colunmname1 [as aliasname, colunmname2 as aliasname2,...] from tablename [as tableAliasName] [left | right | 阅读全文
posted @ 2022-01-03 10:23 Oh,mydream! 阅读(38) 评论(0) 推荐(0)
摘要:MD5加密 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value) MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性 -- md5加密 CREATE T 阅读全文
posted @ 2022-01-02 21:15 Oh,mydream! 阅读(72) 评论(0) 推荐(0)
摘要:mysql聚合函数 -- mysql聚合函数 -- 5个 SELECT COUNT(`studentresult`) FROM result; -- 查询指定字段的数据行数,会忽略null值,最高效 SELECT COUNT(*) FROM result; -- 查询所有字段的数据行数,不会忽略nu 阅读全文
posted @ 2022-01-02 11:02 Oh,mydream! 阅读(82) 评论(0) 推荐(0)
摘要:mysql的常用函数 官网相关 信息查看 https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html 东西很多,主要记住系统时间和系统命令 -- mysql常用函数 -- 常用函数不常用 -- 数值处理 SELEC 阅读全文
posted @ 2022-01-01 22:57 Oh,mydream! 阅读(28) 评论(0) 推荐(0)
摘要:DQL学习-数据库语言的重点 DQL 数据库查询语言-select和concat CREATE DATABASE IF NOT EXISTS `school`; -- 创建一个school数据库 USE `school`;-- 创建学生表 DROP TABLE IF EXISTS `student` 阅读全文
posted @ 2022-01-01 11:22 Oh,mydream! 阅读(39) 评论(0) 推荐(0)
摘要:为什么is null 是模糊查询?| 一文讲懂SQL NULL https://zhuanlan.zhihu.com/p/82434024 直接转载这篇文章,里面的相亲例子让人很好理解 很多人会将NULL称为“空值”。但这个称呼是非常有迷惑性的。事实上,SQL中的NULL不仅不是“空值”,NULL甚 阅读全文
posted @ 2021-12-31 16:45 Oh,mydream! 阅读(400) 评论(0) 推荐(0)
摘要:插入、更新、删除数据 插入 CREATE TABLE IF NOT EXISTS student1( `id` INT(4) NOT NULL COMMENT '序号', `name` VARCHAR(30) DEFAULT '匿名' COMMENT '姓名', `age` INT(3) DEFAU 阅读全文
posted @ 2021-12-30 11:46 Oh,mydream! 阅读(56) 评论(0) 推荐(0)
摘要:数据库级别的外键 -- 创建grade表 CREATE TABLE IF NOT EXISTS grade( `gradeid` INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '年级id', `name` VARCHAR(50) NOT NU 阅读全文
posted @ 2021-12-29 21:40 Oh,mydream! 阅读(48) 评论(0) 推荐(0)
摘要:修改删除表 -- 修改表名 ALTER TABLE `表名` RENAME `新表名` ALTER TABLE `teacher` RENAME `teacher1`; -- 添加表字段 ALTER TABLE `表名` ADD `subject` VARCHAR(20) ALTER TABLE ` 阅读全文
posted @ 2021-12-29 20:33 Oh,mydream! 阅读(52) 评论(0) 推荐(0)