1.对查询结果进行排序

查询stu_info表中所有学生信息,并按照成绩由高到底进行排序,输入语句如下。

SELECT * FROM stu_info ORDER BY s_score DESC;  --asc是指定列按升序排列,desc则是指定列按降序排列。

2.数据控制语句【授权、禁止和收回】

(1)授权权限操作

对名称为guest的用户进行授权,允许其对stu_info数据表执行更新和删除的操作权限,输入语句如下。

GRANT UPDATE,DELETE ON stu_info   --UPDATE和DALETE为允许被授予的操作权限

TO guest WITH GRANT OPTION

(2)拒绝权限操作

禁止guest用户对stu_info表的操作更新权限,输入语句如下。

DENY UPDATE ON stu_info TO guest CASCADE; --CASCADE这里记住就行了,说什么和级联有关系,算是固定语法吧。

(3)收回权限操作

收回guest用户对stu_info表的删除权限,输入语句如下。

REVOKE DELETE ON stu_info FROM guest;

3.BEGIN...END语句【与选择语句IF...ELSE和循环语句WHILE搭配使用】

定义布局变量@count,如果@count值小于10,执行WHILE循环操作中的语句块,输入语句如下。

DECLARE @count INT;

SELECT @count=0;

WHILE @count < 10

BEGIN

PRINT 'count=' + CONVERT(VARCHAR(8),@count)  --CONVERT用来把INT类型转化成浮动字符型VARCHAR

SELECT @count=@count+1

END

PRINT 'loop over count = ' + CONVERT(VARCHAR(8),@count);

4.IF...ELSE语句

DECLARE @age INT;

SELECT @age=40

IF @age<30

PRINT 'This is a young man!'

ELSE

PRINT 'This is an old man!'

5.CASE语句(简记:CASE/WHEN/THEN/END)【尽可能全部采用CASE语句,非常清晰】

使用CASE语句根据学生姓名判断个个学生在班级的职位,输入语句如下。

USE test_db

SELECT s_id,s_name,

CASE s_name

WHEN 'Jack' THEN 'BOSS'

WHEN 'Rose' THEN 'BEAUTY'

WHEN 'Osmond' THEN 'MILIINIARE'

ELSE 'NO'  --除上面这三个人名之外,其他人全部的职位都是无。如果需要这样设计的话,CASE很好,如果不需要这样设计的话,可以不加ELSE。

END

AS 'JOB'

FROM stu_info

6.使用CASE语句对考试成绩进行评定,输入语句如下。

SELECT s_id,s_name,s_score

CASE

WHEN s_score >90 THEN 'perfect'

WHEN s_score >80 THEN 'good'

WHEN s_score >70 THEN 'ok'

WHEN s_score >60 THEN 'just soso'

END

AS '评价'

FROM stu_info

7.GOTO【用来跳转】

USE test_db;

BEGIN

SELECT s_name FROM stu_info;

GOTO jump

SELECT s_score FROM stu_info;

jump:

PRINT '第二条SELECT语句没有执行’;

END

8.WAITFOR语句

10s的延迟后执行PRINT语句,输入语句如下。

DECLARE @name VARCHAR(50);

SET @name='admin';

BEGIN

WAITFOR DELAY '00:00:10';

PRINT @name;

END;

9.RETURN【无条件退出】

10.ASCII()函数

查看指定字符的ASCII值,输入语句如下。

SELECT ASCII('s');

11.CHAR()函数

查看ASCII值115和49对应的字符,输入语句如下。

SELECT CHAR(115),CHAR(49);

12.LEFT()函数

使用LEFT函数返回字符串中左边的字符,输入语句如下。

SELECT LEFT('football',4);            》》》》》》foot

13.RIGHT()函数

使用RIGHT函数返回字符串中右边的字符,输入语句如下。

SELECT RIGHT('football',4);           》》》》》》ball

14.LTRIM()函数

使用LTRIM函数删除字符串左边的空格,输入语句如下。

SELECT LTRIM('  book  ');

15.RTRIM()函数(和上面对应)

16.STR()函数

使用STR函数将数字数据转换为字符数据,输入语句如下。

SELECT STR(3141.59,6,1),STR(123.45,5,7);

17.字符串逆序的函数REVERSE(s)

使用REVERSE函数反转字符串,输入语句如下。

SELECT REVERSE('abc');

18.LEN(str)函数

SELECT LEN('no'),LEN('日期'),LEN(12345);

19.查找A在数据中的位置(高级查找)

使用CHARINDEX函数查找字符串中指定子字符串的开始位置,输入语句如下。

SELECT CHARINDEX('a','banana'),CHARINDEX('na','banana',4);

20.范围内取内容

使用SUBSTRING函数获取指定位置处的子字符串,输入语句如下。

SELECT

SUBSTRING('breakfast'1,5),SUBSTRING('breakfast',LEN('breakfast')/2,LEN(‘breakfast’));

>>>>>>>>break   akfast

SQL从零到迅速精通【实用函数(2)】的更多相关文章

  1. SQL从零到迅速精通【实用函数(3)】

    1.LOWER()函数 使用LOWER函数将字符串中所有字幕字符转换为小写,输入语句如下. SELECT LOWER('BEAUTIFUL'),LOWER('Well'); 2.UPPER()函数 S ...

  2. SQL从零到迅速精通【实用函数(1)】

    语法是一个编程语言的基础,真的想玩的6得飞起还是要靠自己定义的函数和变量. 1.使用DECLARE语句创建int数据类型的名为@mycounter的局部变量,输入语句如下: DECLARE @myco ...

  3. SQL从零到迅速精通【触发器】

    essay from:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html 触发器就类似一个小账本,记录了你在数据库做了哪些操作,可 ...

  4. SQL从零到迅速精通【数据库应用】

    数据库理论的研究主要集中于关系规范化理论和关系数据理论等.数据库技术与计算机技术的结合使得数据库中新的技术层出不穷.最初的数据库系统主要应用于银行管理.飞机订票等事务处理环境.后来渐渐应用于工程设计与 ...

  5. SQL从零到迅速精通【规则和约束】

    1.[创建规则] 为stu_info表定义一个规则,指定其成绩列的值必须大于0,小于100,输入语句如下. USE test_db; GO CREATE RULE rule_score AS @sco ...

  6. SQL从零到迅速精通【数据更新】

    1.[导入表]在两个表的格式一样的情况下,将一个表的数据导入另外一个表. person_old表中现在有两条记录.接下来将person_old表中所有的记录插入到person表中,语句如下: INSE ...

  7. SQL从零到迅速精通【表连接查询】

    看了这些表连接,个人感觉'左外连接'.'右外连接'和'全外连接'应用好就可以了. 1.外连接 (1)LEFT JOIN(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. 在student ...

  8. SQL从零到迅速精通【查询利器】

    1.[列选取]从fruits表中获取f_name和f_price两列,T-SQL语句如下. SELECT f_name,f_price FROM fruits; 2.[去重]查询fruits表中s_i ...

  9. SQL从零到迅速精通【基本语句】

    1.使用T-SQL语句创建数据表authors,输入语句如下. CREATE TABLE authors { auth_id int PRIMARY KEY,--数据表主键 auth_name VAR ...

随机推荐

  1. iBooker AI+财务提升星球 2020.4 热门讨论

    比特币量化套利的心路历程(附python量化招聘)(分享自知- 如何选择一份好的工作? 你知道为什么大家都想去好公司吗? 不- #财务知识# 可转债套利 辉丰转债128012套利之三个知道- #财务知 ...

  2. 如何把一个数组中的对象的key值相等的对象合成一个对象

    比如这样一个数组:[{category:"中国梦",value:"10000"},{category:"有国才有家",value:" ...

  3. Atcoder ARC-061

    ARC061(2020.7.10) A 暴力 \(dfs\) 即可. B 考虑统计以每个点为矩阵中心的答案,显然一个黑点只会影响周围九个黑点,使用 \(map\) 来记录这个值,每次修改修改一下答案数 ...

  4. git clone 命令

    感谢原文作者:寻芝彬 原文链接:https://www.jianshu.com/p/c992c799f2dd 描述 拷贝一个 Git 仓库到本地 实例 拷贝一个 Git 仓库到本地,本地目录名称与Gi ...

  5. Plist存储

  6. Keras学习:第一个例子-训练MNIST数据集

    import numpy as npimport gzip import struct import keras as ks import logging from keras.layers impo ...

  7. Solution -「多校联训」行列式

    \(\mathcal{Description}\)   Link.   给定 \(x,\{d_i\}_{i=1}^n,\{p_i\}_{i=2}^n,\{b_i\}_{i=2}^n,\{c_i\}_{ ...

  8. Solution -「洛谷 P6021」洪水

    \(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的带点权树,删除 \(u\) 点的代价是该点点权 \(a_u\).\(m\) 次操作: 修改单点点权. ...

  9. Mybatis结果映射器resultMap的基本用法

    <mapper namespace="全局唯一的名称空间"> <resultMap id="本namespace下唯一" type=" ...

  10. CentOS7 下 ldap 部署

    环境准备 # 关闭防火墙以及selinux,生产环境中,以实际需求为准 [root@localhost ~]# hostnamectl --static set-hostname ldap-serve ...