MYSQL与MSSQL比较、MSSQL报错注入
2021/6/26 20:01:32
本文主要是介绍MYSQL与MSSQL比较、MSSQL报错注入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MYSQL与MSSQL比较、MSSQL报错注入
- 1. sql server和mysql数据库的区别
- 函数的区别
- 后端语言
- 2.mssql数据库
- 2.1 mssql的内置函数
- 2.2 mssql内置表
- 查询库名两种方式
- 查询表名两种方式
- 3.orcale数据库
- 3.1 特殊表
- 3.2 内置函数
- 3.3 字符串拼接
-
mysql
1.弱类型语言
-
mssql
- 强类型语言
-
orcale
- 强类型语言
-
access
1. sql server和mysql数据库的区别
函数的区别
- db_name() 和 database()
- current_user 和 user()
- substring() 和 substr()
- char(97) and ascii(97) ascii的转换
- mysql中连接多列用 concat(); mssql中是 ‘a’+‘b’
- mysql有聚合函数group_concat();mssql无聚合函数,要用到top 1 结合 not in top
- mysql用读取一行用limit,mssql用top,orcale用where rownum=1
- @@version and version()
- mssql使用@@version查版本号,第一个字符是M
- mysql使用version查版本号,第一个字符是数字
- 在mysql中 information.schama;在mssql中 master…sysdatabases 或 master.dbo.sysdatabases,其中dbo表示用户名
- …
后端语言
- asp,aspx 和 mssql组合
- jsp 与 orcale 结合
- php 和 mysql 结合
2.mssql数据库
2.1 mssql的内置函数
current_user – 返回用户名
host_name() :返回服务器端计算机名称
db_name () :返回当前数据库的名称
subString () :字符串截取函数
@@version:查看数据库版本
ISNULL() :判断查询是否带有NULL,有则替换
CAST(a as type) 字符类型转换,如果转换失败会将a结果显示在页面上
CHAR() :ascii转字符函数
object_id() 根据表名返回数据库表名ID
object_name() 根据ID返回数据库表名
col_name ( object_id , column_id )函数 :返回指定表中指定字段(列)的名称
2.2 mssql内置表
- sysdatabases:值存在master数据库,保存了所有的库名以及库的ID。name存放数据库名。
查询库名两种方式
select substring((select top 1 name from master.dbo.sysdatabases where name not in (select top 4 name from master..sysdatabases)),1,1); select substring((select db_name()),1,1)
-
sysobjects:每个数据库都有此系统表,它存放该数据库内创建的所有对象
-
Name:表示数据库对象名
-
id:对象ID。每个表都唯一对应一个id
-
xtype:对象类型
-
uid:所有者对象的用户ID
-
status:对象的状态。
ype=‘U’ and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。
-
查询表名两种方式
1. 根据内置函数---object_id() 根据表名返回数据库表名ID 2. 查表对应的id
-
syscolumns:位于每个数据库中。
-
name:字段名称
-
id:表ID号。表示表名,所有表名都用id表示
-
colid:字段ID号(id是用sysobjects得到的表的id号)
-
xtype=‘U’:代表是用户建立的表。在查询中,可以用xtype='U’做限制条件,只获取用户创建的表,这些表中的信息更敏感。
ect name from syscolumns
where id=(select id from 数据库名…sysobjects where name=‘表名’)
– 常用语法
-
3.orcale数据库
- 没有数据库的概念
- 不同的用户,权限不一样,查询的表不一样
3.1 特殊表
dual表
user_tab
user_tab_columns
1. select banner from sys.v_$version where rownum=1 -- sys.v_$version 用来表示版本 2. select user from dual -- 找到当前用户名 3. select username from dba_users -- 获取所有用户名
3.2 内置函数
mysql | mssql | orcale |
---|---|---|
length() | len() | length() |
ascii(),char() | char() | ascii() |
limit 0,1 | top 1 | rownum=1 |
substr() | substring() | substr() |
group_concat() | group_concat() (与group by联合使用) | wm_concat() |
SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id SELECT order_num, COUNT(*) AS items FROM OrderItems GROUP BY order_num HAVING COUNT(*) > 3; //对某些符合的数据进行分组聚合,然后用having过滤
3.3 字符串拼接
- mysql—用concat(’’,‘abc’,’’)
- mssql— ‘a’+‘b’
- orcale— ‘a’||‘b’
这篇关于MYSQL与MSSQL比较、MSSQL报错注入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程