数据库-SQL 注入和语句分类和数据类型

SQL 注入

  • 用户往输入值的地方输入了 SQL 语句,导致原有 SQL 语句的逻辑发生改变,这个过程称为

    SQL 注入

  • 通过 PreparedStatement 带有预编译效果的执行 SQL 语句的对象,解决 SQL 注入问题

  • 如何解决?

    • 使用 PreparedStatement,将编译 SQL 语句的时间点提前到创建对象时,此时编译用户输

      入的内容还没有在 SQL 语句中, 编译后可以理解为将 SQL 语句的逻辑锁死, 用户输入的

      内容只能以值的形式添加到原有 SQL 语句中,这样将不再影响原有 SQL 语句的逻辑,从

      而避免了 SQL 注入的问题

SQL 语句分类

  • DDL: 数据定义语言 包括数据库相关和表相关的 SQL 语句

  • DML: 数据操作语言,包括增删改查.

  • DQL: 数据查询语言,包括查询相关

  • TCL: 事务控制语言,和事务相关的 SQL 语句.

  • DCL:数据控制语言, 指用户相关和权限分配相关

数据类型

  • 整数: int 和 bigInt bigInt 等效 Java 中的 long
  • 浮点数: double(m,d) m 代表总长度 d 代表小数长度 , 25.444 m=5 d=3
  • 字符串
    • char(m): 固定长度, m=5 存"abc" 占 5 个 最大长度 255
    • varchar(m): 可变长度,m=5 存"abc" 占 3 个 最大长度 65535 内容少的用 varchar
    • text(m):可变长度 最大长度 65535 内容长的用 text
  • 时间类型
    • date:只能保存年月日
    • time:只能保存时分秒
    • datetime:年月日时分秒,默认为null,最大值9999-12-31
    • timestamp:(时间戳,通过保存距离1970年1月1日的毫秒数来实现时间记录的):年月日时分秒;默认值为当前系统时间,最大值2038-1-19
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值