SQL语言相关

做牛客SQL相关题目的时候遇到不会的就记录一下,可能会不全,慢慢补充。

1、SQL语言分类
数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块
数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)
数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)
数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)
2、where...group by(分组)....having(与group by连用筛选)....order by(排序)
3、数据库中的权限:
db_accessadmin:可以添加、删除用户的用户
db_datareader:可以查看所有数据库中用户表内数据的用户
(以上两者都是针对数据库的)
3、SQL语句没有when,只有case when
用法:
图片说明
4、SQL语句顺序:
写法顺序:select--from--where--group by--having--order by
执行顺序:from--where--group by--having--select--order by
5、关键词DISTINCT用于返回唯一不同的值
6、SQL中的函数
DATEDIFF() 函数返回两个日期之间的时间,语法:DATEDIFF(datepart,startdate,enddate),其中,startdate 和 enddate 参数是合法的日期表达式
(RDATE字段为datetime型,包含日期与时间,而getdate()是当前日期,二者不能直接比较,所以用DATEDIFF函数)
7、关于删除表sc
DELETE FROM sc;清除sc表所有记录
DROP TABLE sc;删除sc表,包括整个结构和数据
8、数据库中字符串的索引开始于1
9、if语句
      sum(if(class='english',score,0)) as english;class='english'为真English加score;否则,加0
10、插入语句,除了insert into你还知道什么呢?
SELECT……INTO从一个表中选取数据,然后把数据插入另一个表中
11、可能会导致sql注入的字符 '
12、修改表test_tbl字段i的缺省值为1000,可以使用SQL语句?
ALTER TABLE test_tbl ALTER i SET DEFAULT 1000;
解析:
    change用来修改字段名字以及类型
    modify 用来修改字段类型
    aiter column ... set 用来修改字段数据
13、SQL语句中一些符号的含义:
图片说明
14、between...and后面加日期,短日期默认time为00:00:00,比如说写到2012-12-31,就是到当天00:00:00,并没有当天的记录
15、!!!!错过很多次,where不可以与聚合函数连用
16、having子句必须于group by 子句同时使用,不能单独使用;group by 子句是限定分组条件的,having是过滤分组的
17、avg()函数会忽略空值
18、存储过程相关知识记得去看看
19、查询语句中,当子表元素个数大于一(存在多个返回值)时,不能用=,要用in
20、trustcate相关

  • 处理效率:drop>trustcate>delete
  • drop删除整个表;trustcate删除全部记录,但不删除表;delete删除部分记录
  • delete不影响所用extent,高水线保持原位置不动;trustcate会将高水线复位
全部评论

相关推荐

不愿透露姓名的神秘牛友
08-15 16:48
想要一个AK:问题很多加微信私聊 (一个赞十道算法题,我看看有多少)
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务