MySQL
记录MySQL数据库相关的知识
Owen-1.01
这个作者很懒,什么都没留下…
展开
-
JDBC 批处理 executeBatch返回值含义
如果批量更新中的命令之一无法正确执行,此方法引发BatchUpdateException,JDBC driver可能会也可能不会继续处理剩余的命令。但是driver的行为是与特定的DBMS绑定的,要么总是继续处理命令,要么从不继续处理命令。返回-2 表示命令为处理成功,但受影响的行数为未知。因为insert是将多条sql合成一条sql来执行的,所以影响的数据行数是未知的。返回0表示没有受影响的记录,可能是where条件导致没有查询到对应的数据。返回大于等于1的值,表示更新成功,返回受影响的行数。原创 2023-08-27 16:13:28 · 577 阅读 · 0 评论 -
explain各个字段代表的意思
上面就是type列可能会出现的10个字段,越靠左效率越高。原创 2023-08-27 15:07:53 · 756 阅读 · 0 评论 -
Mysql学习笔记-数据库基础
登录数据库cmd下登录数据库数据库分层结构创建、查看和删除数据库创建数据库create database [if not exists] 数据库名字 [create_specification1] [create_specification1]create_specification1:[default] character set charset_name[default] collate collation_namecharacter set:指定数据库采用的字符集,如果不指定字符原创 2021-06-05 20:36:44 · 114 阅读 · 0 评论 -
MySQL学习笔记-表操作
表复制和去重-- 先把emp表的记录复制到T1表中desc emp;create table T1( empno int(4) not null, ename varchar(10), job varchar(9), mgr int(4), hiredate date, sal double(7,2), comm double(7,2), deptno int(2));select count(*) from T1;-- 先把emp表的记录复制到T1表中insert into原创 2021-06-12 16:14:20 · 61 阅读 · 0 评论 -
MySQL学习笔记-多表查询
--显示员工名字,工资,所在部门名字select * from emp;select * from dept;select * from emp,dept; -- 产生笛卡儿积select ename,sal,dname from emp,dept where emp.deptno = dept.deptno;自连接把一张表当成两张表来使用-- 显示员工的名字和他的上级select worker.ename as '员工名字',boss.ename as '上级名字' from emp原创 2021-06-12 15:35:50 · 55 阅读 · 0 评论 -
MySQL多表查询
MySQL的多表查询原创 2022-08-28 21:55:03 · 15608 阅读 · 6 评论 -
详解MySQL列类型
int类型存储数字的大小是4个字节,int后面的括号里的数字代表的是显示数字的宽度,例如int(6)就是显示的宽度为6,如果宽度超过了6位例如:1234567,但是范围没有超过int类型的范围,依然可以存放到数据库,如果范围小就正常显示,搭配zerofill关键字的话可以在数字的前面补0。varchar(size) 可变长度字符串,最大65535字节,用1-3个字节用于记录长度,所以最大能存65532个字节,换算成字符utf8可存放21844字符。char (size) 固定长度的字符串,最大255字符。原创 2021-06-05 22:43:42 · 116 阅读 · 0 评论 -
MySQL学习笔记-CRUD基本语句
插入语句-- 可以不加具体的列名,但是后面values必须添加所有的值insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(1234,'tom','manager',1234,'1981-02-20',5000,0,50);更新语句-- 必须要有where条件,否则就会将这个列全部修改update emp set empno=5678 where empno=1234;删除语句-- 一定记着加where条件原创 2021-06-07 22:37:06 · 107 阅读 · 0 评论 -
MySQL学习笔记-索引
索引的原理索引的原理就是对创建索引的列使用数据结构 树 的形式对列进行再保存,例如使用二叉树的形式具体原理待之后详细学习了在进行补充,但大致索引的时间就是这个样子没有索引为什么慢?因为如果对没有创建索引的列进行查找时是进行全表扫描,所以速度会慢很多索引为什么块因为形成了一个索引的数据结构,比如二叉树等,还有其他的树结构索引的代价1、占用磁盘空间2、影响dml(insert,delete,update)语句的效率(会对索引进行维护)索引的类型创建索引create table T4(原创 2021-06-13 15:23:43 · 55 阅读 · 0 评论 -
MySQL学习笔记-Mysql函数
以下所有演示依赖MySQL自带表emp,dept和salgrade表统计函数1、合计/统计函数-countcount(*)统计所有行数count(列名)统计当前列非空行数select * from emp;-- 统计emp表总行数select count(*) from emp;-- 统计comm列的非空行数select count(comm) from emp;合计函数-sum、avg、max、minsum函数返回满足where条件的行的和-- 统计薪水的总和select su原创 2021-06-07 19:05:42 · 154 阅读 · 0 评论 -
MySQL学习笔记-表的创建、删除和修改
qwe原创 2021-06-12 15:15:25 · 54 阅读 · 0 评论 -
MySQL学习笔记-权限管理
用户管理用户一般都存在mysql数据库中的user表中Host:表示这个用户可以在哪里登录User:表示用户名Password:表示用户密码,是经过password函数加密的创建新用户-- 查看用户信息select * from mysql.user;-- 创建用户create user 'tom'@'localhost' identified by '333';-- 删除用户drop user 'tom'@'localhost';-- 修改自己的密码set passwor原创 2021-06-14 22:41:10 · 65 阅读 · 1 评论 -
MySQL学习笔记-mysql约束
主键约束用于唯一标识表行的数据,当定义主键后,该列不能重复-- 创建主键方法一create table T2( id int(11) primary key, name varchar(19));-- 创建主键方法二create table T3( id int(11), name varchar(19), primary key(id)); -- 创建复合主键create table T4( id int(11), name varchar(19), primary ke原创 2021-06-12 16:57:19 · 106 阅读 · 0 评论 -
MySQL学习笔记-事务
什么是事务事务用于保证数据的一致性,它由一组相关dml语句组成,该组的dml语句要么全部成功要么全部失败事务和锁当执行事务的时候,MySQL会在表上加锁,防止其他用户修改表中的数据,这对用户来讲是非常重要的控制事务的基本操作start transaction --开始一个事务savepoint 保存点名 --设置保存点rollback to 保存点名 --回滚到指定的保存点rollback --回滚全部的事务commit --提交事务,不能再回滚了create table T5( id原创 2021-06-13 16:10:43 · 86 阅读 · 0 评论