- 博客(9)
- 收藏
- 关注
原创 sql攻击/注入
Statement传输器 注入演示 1,问题:当用户输入特殊值: jack’#时,甚至不需要密码也能登录 2,产生的原因:#在SQL中表示注释的意思,相当于后面的条件被注释掉了… SELECT * FROM USER WHERE NAME=‘jack’ #’ AND pwd=‘123456’ 现象叫SQL攻击/SQL注入,本质上就是因为SQL语句中出现了特殊符号#,导致了,SQL语义发生改变 3,哪里出现的问题?Statement传输器不安全,低效 4,解决方案?使用新的传输器Prepa...
2022-01-05 19:11:06
701
原创 数据库 索引 索引文件存放在磁盘中 采用Btree树方式构建
索引分类 单值索引 一个索引只包含一个字段/一个列 一个表可以有多个列 唯一索引:索引列的值必须唯一 但允许有空值 主键会自动创建唯一索引 符合索引:一个索引同时包括多列 特殊的单值索引 使用索引 验证索引是否使用 explain 只能写在查询之前 创建索引 主键自动创建索引 主键索引可以添加普通索引 但是 执行时不会调用 显示为null 浪费资源 查询表内的索引内容 show index from 表名 创建普通索引 create in...
2022-01-03 15:00:58
584
原创 数据库事务
事务 ENGINE=InnoDB 引擎 支持事务管理 特征 ACID 1.原子性(Atomicity,或称不可分割性) 2.一致性(Consistency) 3.隔离性(Isolation,又称独立性) 4.持久性(Durability) 原子性:操作全程绑定 要不都执行 故障会回滚(Rollback)恢复开始的状态 一致性:事务开始和结束后 不会破坏完整性 保证多态服务器里的数据是一致的(分布式系统) 隔离性:防止事务并发产生交叉行为 持久性: 事务结束后,对数据修...
2022-01-03 14:58:58
349
原创 数据库 表关系
表关联 accociation 一对多 one to many 最常见,部门和员工,用户和订单 多对一 many to one 一对多反过来,员工和部门,订单和用户 多对多 many to many 老师和学生,老师和课程 多表联查join 笛卡尔积 指定查询的两张表 找寻两张表的关联where 需要判断的输出语句and 笛卡尔积 Cartesian product 又称直积 一般笛卡尔积没有实际的业务意义 ,但多表查询都是先生成笛卡尔积 再进行数据的筛选过...
2022-01-03 14:57:52
226
原创 数据库查询语句
查询表中所有内容 select *[通配符] from 表名 select * from 表名 查询多列 列名,列名 select 列名,列名 from 表名 SELECT dname,loc FROM dept 设置别名 select 列名 新列名 from 表名 SELECT dname a FROM dept 变小写 lower(列名) SELECT LOWER(dname),LOWER(loc)...
2022-01-03 14:55:58
933
原创 数据库基本了解
数据库DOC界面登录方式 mysql -u root -p enter 输入密码 出现welcome代表登录成功 show databases;查看所有数据库 use 数据库名 登录选定的数据库 char和varchar有什么区别? char为定长字符串,char(n),n最大为255 varchar为不定长字符串,varchar(n),n最大长度为65535 char(10)和varchar(10)存储abc,那它们有什么差别呢? char保存10个字符,abc三...
2022-01-03 14:54:09
177
原创 BigDecimal解决运算不精确问题
1.新建BigDecimal对象接收输入的计算数据. 2.注意:不要用Double作为构造函数,会有不精确现象,将double转为string, 拼接一个空串 3.Add 加法 subtract 减法 multiply 乘法 divide(m,n,o)m指要除以哪个对象,n指要保留几位,o指舍入方式 {BigDecimal.ROUND_HALF_UP 常用} ...
2022-01-03 14:50:42
656
原创 +=,-=,*=,/=,%= 运算强制类型转换
运算时,将double类型的30.3d 强制转换为byte类型的30,计算输出结果为30 称为精度损失 byte a = 1; // double b = 30.3d; a*=30.3d; System.out.println(a); 运算时 101是在byte取值范围内的,运算后101*30(强制转换后)为3000,但是超出了byte的取值范围,输出的指为随机数 byte a = 101; // ...
2022-01-03 14:49:43
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅