数据库
白云如幻
坚持,终将收获更好的自己。一位来自98年的程序员;在一个偶然的机会下接触到程序员这个职业,沉醉其中,喜欢安安静静的写代码,在代码的世界里奔跑。
展开
-
MySQL连接查询之等值连接
建一个新库包含两张表实验:ta:id,age字段,tb:id,name,ta_id。原创 2024-11-11 15:41:14 · 105 阅读 · 0 评论 -
MySQL分组查询
分组查询:group by关键字实现分组,group by放在where条件语句之后,order by放置中group by的后面,一会儿还会学到的having关键字,总体的循序先后为:原创 2024-11-07 15:13:14 · 485 阅读 · 0 评论 -
MySQL的分组函数
分组函数和前面讲的函数不同在于,前面的对内容本身的处理,而分组函数的主要功能是统计。分组函数还可以和一个关键字和用:distinct。分组函数的共同特点:会忽略null。原创 2024-11-07 14:47:10 · 287 阅读 · 0 评论 -
MySQL的其他函数
案例:员工表中, 部门号是30,显示的工资是1.1倍,部门号是40,显示的工资是1.2倍,其他显示原工资。案例:查询入职日期是1992-4-3的员工信息。//查看当前使用的数据库。//查看mysql版本。原创 2024-11-06 21:11:02 · 399 阅读 · 0 评论 -
MySQL常见函数的讲解
函数:将某些功能封装到一起,对外提供到一个接口(函数名),通过函数调用的方式可以重复的执行函数里的功能,从而提高我们的代码的复用性。7.lpad('目标字符串',10,'填充字符');5.instr('源字符串','子字符串':作用返回子字符串子源字符串里的起始索引。6.trim(' 有空格的字符串 '):作用是去掉字符串前后的空格,中间空格去不掉。9.replace('目标字符串','被替换子串','用于替换的新串')替换。2.concat(str1,str2,...):连接字符串。原创 2024-11-06 21:03:37 · 188 阅读 · 0 评论 -
MySQL排序查询
案例实现多字段排序,查询员工信息,首先用工资高低排序,工资一样的在按员工id大到小排序。查询部门编号大于等于90的员工信息,按照入职时间的先后排序。案例加上条件oreder by语句是放在条件语句后面的,案例实现按表达式排序,按年薪的高低显示员工信息。案例:查询所有员工信息,要求工资从大到小排列。案例使用函数来排序,按姓名的长度显示员工信息。原创 2024-11-06 20:58:32 · 220 阅读 · 0 评论 -
MySQL模糊查询
案例:查询员工名中包含了"a"字符的所有员工的信息案例:查询第三个字符为n或第五个字符为l的员工信息案例:查询员工信息表中员工名第二个字符是"_"的员工信息案例:查询员工工资中10000到20000之间到员工信息注意:使用between and1.可以简洁sql语句2.并且包含临界值3.连个临界值不能调换位置,小的在左边,大的值在右边。原创 2024-11-05 15:51:15 · 225 阅读 · 0 评论 -
MySQL在基础查询基础上升级到条件查询
案例:工资在10000到20000之间到员工名,工资和奖金。原创 2024-11-03 15:32:17 · 295 阅读 · 0 评论 -
MySQL有关基础查询的知识点
查询salary,并起别名为 out put,别名里有特殊符号空格,这时要加单引号。好处:一个容易理解,语义化,另一个在后面的多表查询时候区分不同表里的同名字段。符号: 不是单引号,是着重号!用于区别关键字和字段名的,可以省略。用as关键字,如select 100%98 as 余数结果。as关键字可以换成空格。原创 2024-11-03 15:15:59 · 346 阅读 · 0 评论 -
MySQL的语法规范
1、mysql的命令不区分大小写,但建议关键字大写,表名、列名小写;3、每条命令根据需要,可以进行缩进和换行,建议关键字在一行。单行注释2: -- 文字文字 (主要 -- 后有空格)多行注释: /* 文字文字 */单行注释:#文字文字。原创 2024-11-01 11:53:58 · 83 阅读 · 0 评论 -
MySQL的常用命令
可以看到,client,connection和result的编码已经设置为gbk了,但server,database,system的编码还是utf-8!这就是说,虽然数据是使用utf-8编码存储的,但是客户端以及返回的结果集是gbk的,而此时cmd窗口的编码正好是gbk,因此该结果集能正确显示了。修改表的默认字符集:ALTER TABLE 表名称 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;查看非所在库的表信息,用from关键字指定目标库。原创 2024-11-01 11:52:22 · 508 阅读 · 0 评论 -
MySQL服务端的登陆和退出
cmd的dos命令端(必须是管理员的):mysql -h localhost -P 3306 -u root -p。-p:密码(这里可以写,也可回车后再写,写了密码,密码和-p不能有空格,前面的可以有空格)ySql自带的客户端登陆和退出(exit,ctrl+c);本机的话,也可以简写:mysql -u root -p。原创 2024-10-30 16:34:49 · 106 阅读 · 0 评论 -
【Mybatis】全局配置文件typeAliases和typeHandlers标签
无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。类型别名是为 Java 类型设置一个短的名字。JSR 310为Java提供了一个新的、改进的日期和时间API,以代替目前复杂的难以使用的日期和时间功能。Mybatis已经为一些常见的 Java 类型内建的相应的类型别名。它们都是大小写不敏感的,Year year = Year.now();原创 2024-05-17 17:34:50 · 474 阅读 · 0 评论 -
【Mybatis】全局配置文件properties和settings标签
指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法,这对于有 Map.keySet() 依赖或 null 值初始化的时候是有用的。注意:这个配置了解一下就可以了,因为显然,在项目中是要和spring整合的,数据源是要交个spring管理的,所有肯定不会用这个配置的!不同的驱动在这方面会有不同的表现, 具体可参考相关驱动文档或通过测试这两种不同的模式来观察所用驱动的结果。这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。原创 2024-05-17 17:28:51 · 1221 阅读 · 0 评论 -
MyBatis入门例子
实现从数据库中取数一条数据,封装成User对象返回。原创 2024-05-07 20:32:33 · 265 阅读 · 0 评论 -
Mybatis的简介和下载安装
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。原创 2024-05-07 20:23:46 · 456 阅读 · 0 评论 -
inout参数模式存储过程和删除查看存储过程和MySQL小总结
myslq最基础的常识查增、改、删数据库和数据表的管理约束事务控制存储过程变量和函数索引视图。原创 2024-05-06 02:01:10 · 253 阅读 · 1 评论 -
out参数模式的存储过程
call myp4('任波涛',@age) $ #把值取出来放到变量里去。调用:call('任波涛',@age,@sid) $案例:根据学生姓名,返回对应的年龄和学生编号。select @age $ #查看值了。案例:根据学生姓名,返回对应的年龄。原创 2024-05-05 01:14:34 · 299 阅读 · 0 评论 -
in参数模式的存储过程
注意:在dos出现中文乱码,解决方法,set namea gbk;调用:call myp3('admin','admin') $调用:call myp2('任波涛') $案例:通过学生名查询对应的年龄。案例:创建判断用户是否登录成功。原创 2024-05-05 01:12:40 · 217 阅读 · 0 评论 -
MySQL存储过程的介绍和无参数存储过程演示
存储过程:预先编辑好SQL语句的集合,这个集合完成了某项具体的功能集合,我需要这个功能的时候,只要调用这个过程就好了!create procedure 存储过程的名字(参数列表)out : 该参数可以作为输出,该参数可以作为返回值给调用方。in : 该参数可以作为输入,需要调用方传入值来给存储过程。(比如: in s_name varchar(20) )①参数列表包含三个部分:参数模式 参数名 参数类型。inout : 该参数既可以做输入,也可以作为输出。存储过程体(SQL语句的集合);原创 2024-05-03 02:45:37 · 293 阅读 · 0 评论 -
MySQL设置回滚点
主要是关键字:savepoint。原创 2024-05-03 02:44:15 · 215 阅读 · 0 评论 -
MySQL事务并发问题
①脏读: 当t2正在更新某个字段但还没有提交数据库执行时,t1在这个时刻正好读取这个字段的数据,然后t2在发生错误,然后回滚数据,导致t1读取到数据就是t2更新时的临时数据,而且最终没有更新成功的无效数据!一个事务与其他事务隔离的程度称为隔离级别:数据库规定了事务隔离级别,不同隔离级别对应不同的干扰程度,级别越高,数据一致性越好,但并发性越弱!②不可重复读:t1读取一个字段是数值,然后t2更新了这个字段,之后t1在读取同一个字段,值发生了变化!,如果没有采取必要的隔离机制,就会导致各种并发错误发生。原创 2024-04-29 04:04:30 · 456 阅读 · 0 评论 -
MySQL事务介绍
②一致性(Consistency):事务必须让数据的数据状态变化到另一个一致性的状态,比如:刚刚的例子中A和B的余额总和是2000,转账后,A和B的余额总和不能变.前后具有一致性。接下来的其他操作或出现的故障,不能影响到它执行的结果!③隔离性(Isolation):一个事务的执行,不受其他事务的干扰,相互应该是隔离的,但是实际上是很难做到的,要通过隔离级别做选择!在mysql中的数据是用各种不同的技术来存储在磁盘文件(或内存)当中的,这种具体的存储技术就是我们说的存储引擎.①A账号上要减少500元。原创 2024-04-28 01:06:57 · 244 阅读 · 0 评论 -
MySQL创建表时添加约束
【constraint 约束名字】 约束类型(字段名称) 【额外的东西,如外键】原创 2024-04-25 01:23:54 · 549 阅读 · 0 评论 -
MySQL数据库管理DDL语言和数据库管理
Data Definition Language数据库定义语言,主要作用是对数据库和表的管理。修改数据表的结构设计(字段的名和字段的数据类型):alter。是对表里的记录数据值的操作,本质都不同注意区别。创建数据库,修改数据库,删除数据库。创建:创建数据库books。创建数据表:create。删除数据表:drop。修改数据库:不会做!原创 2024-04-24 01:54:06 · 286 阅读 · 0 评论 -
MySQL数据表记录删操作
delete和truncate区别delete可以加where条件truncate删除的效率高一些假如要删除的表上有自增长字段,如果用delete删除,再插入数据,自增长从断点值开始,用truncate删除,再插入数据,从1开始;truncate删除没有返回值,delete删除有返回值truncate删除不能回滚,delete删除可以回滚原创 2024-04-23 20:20:22 · 830 阅读 · 0 评论 -
【数据库】MySQL之union联合查询
比如在我们有个数据库中的老师表和学生表,两者之间没有直接的关联关系,但是又有一些共通性,但是现在我们想要查询学校所有男老师和男学生的信息(学生和老师的编号,姓名,出现日期,性别),这个时候就是应用union的时候。关键字union,作用就是将多条查询语句的结果合并成一个结果集。案例:(查询部门编号大于100或名字中含有a字符的员工信息)原创 2024-04-19 01:49:49 · 660 阅读 · 0 评论 -
【数据库】MySQL分页查询
比如:size=10那么, page 和 size 记录范围 和 起始记录索引值 limit。limit offset(开始记录索引,是从0开始的),size(要取出的条数);通用的分页查询写法(page:页数,size:每页显示的记录条数)记住每页的起始记录索引值:(page-1)*size。案例:(查询有奖金且工资最高的前10名的员工信息)案例:(查询第11条到第25条)2页:11-20条 10,10。案例:(查询前5条员工数据)1页: 1-10条 0,10。where ....等等。原创 2024-04-19 01:03:13 · 945 阅读 · 0 评论 -
MySQL连接查询之等值连接
分析一下:select name,age from ta,tb where tb.ta_id=ta.id;它的执行过程呢,和上面笛卡尔积一样,只是在结果集中进行了条件筛选,满足 tb.ta_id=ta.id条件的留下,不满足的丢弃。又称多表查询,当查询结果来自多张数据表的时候,就需要用到连接查询。查询有奖金的每个部门的部门名和部门的领导编号和该部门的最低工资。查询每个工种的工种名和员工个数,并且按照员工个数排序降序。查询员工名,部门名和所在城市名。查询员工名和对应的部门名。查询每个城市的部门个数。原创 2024-04-18 01:50:00 · 398 阅读 · 0 评论
分享