数据库

SQL安全:浅谈为什么#{}可以防止SQL注入

#{} 和 ${} 的区别 #{} 匹配的是一个占位符,相当于 JDBC 中的一个?,会对一些敏感字符进行过滤,编译过后会对传递的值加上双引号,因此可以防止 SQL 注入问题。 ${} 匹配的是真实传递的值,传递过后,会与 SQL 语句进行字符串拼接。${...

SQL Server如何查看login所授予的具体权限问题

在SQL Server数据库中如何查看一个登录名(login)的具体权限呢,如果使用SSMS的UI界面查看登录名的具体权限的话,用户数据库非常多的话,要梳理完它所有的权限,操作又耗时又麻烦,个人十分崇尚简洁、高效的方法,反感那些需要大量手工操作的UI界面操...

Mysql原理 索引创建删除及使用代价

一、Mysql 中索引的创建删除 innodb 和 myisam 引擎会自动为主键或者带有 UNIQUE 属性的列建立索引。 如果要为其他列建立索引,就需要显示的指明。 1. 创建表的时候创建索引 CREATE TABLE 表名 ( 各个列的信息̷...

原理:Mysql中的innoDB存储引擎如何解决幻读

1.Mysql的事务隔离级别 这四种隔离级别,当存在多个事务并发冲突的时候,可能会出现脏读,不可重复读,幻读的一些问题,而innoDB在可重复读隔离级别模式下解决了幻读的一个问题, 2. 什么是幻读 幻读是指在同一个事务中,前后两次查询相同范围的时候得到的...

sqlplus 命令登录 Oracle数据库的多种方法

1 概述 sql*plus 通过命令行登录 Oracle 数据库有两种方法 方式1:通过 sql*plus 命令窗口(下载 Oracle 时,自带) 方式2:通过 cmd 窗口(即使忘记了密码,也可以登录)   2 三种登录方法 方式1: >...

SQL基础:SQL Server创建用户定义函数

一、UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且可以作为一个单元来进行调用。 UDF和存储过程的主要区别在于返回结果的方式: 使用UDF时可传入参数,但不可传出参数。输出参数的概念被更为健壮的返回值...

SQL开发知识:MySQL分库分表的几种方式

一、为什么要分库分表 如果一个网站业务快速发展,那这个网站流量也会增加,数据的压力也会随之而来,比如电商系统来说双十一大促对订单数据压力很大,Tps十几万并发量,如果传统的架构(一主多从),主库容量肯定无法满足这么高的Tps,业务越来越大,单表数据超出了数...

SQL基础:SQLServer只赋予创建表权限的全过程

背景 今天客户问到一个问题。 我想新建一个账号给外部人员使用,但是我只想给他创建表的权限,这应该如何操作。开始可能认为这个问题很简单。 我新建一个登录账号A USE [master] GO CREATE LOGIN [A] WITH PASSWORD=N&...