mysql
1.弱类型语言
mssql
orcale
access
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 )函数 :返回指定表中指定字段(列)的名称
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=‘表名’)
– 常用语法
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 -- 获取所有用户名
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过滤