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. 使用gige2500万相机时遇见的问题(条纹以及取图过久)

    1.确保网卡支持1g全双工: 2.确保安装了MVTec GigE Vision Streaming Filter(使用halcon接口的情况下) 3.确保机台的杀毒软件开放了相机的网络监控功能

  2. 入门 - k8s伸缩应用程序 (六)

    目标 使用 kubectl 伸缩应用程序. Scaling(伸缩)应用程序 在之前的文章中,我们创建了一个 Deployment,然后通过 服务 提供访问 Pod 的方式.我们发布的 Deployme ...

  3. CAAnimation——简介

  4. 7月3日下午 微擎芸众商城 设计思路 - laravel路由底层源码解读

    学习参考文章 https://learnku.com/articles/13622/the-principle-of-laravel-routing-execution <?phpnamespa ...

  5. [01-jwt]C# JWT基础知识详解

    本篇文章将介绍jwt基础概念性知识,不含实操代码展示,特别适合该方面知识空白的人群,大神级别请选择性观看.不喜禁喷,出门右转,谢谢配合. 一.什么是JWT? JWT是简写,全称是JSON Web To ...

  6. Net6 DI源码分析Part4 CallSiteFactory ServiceCallSite

    Net6 CallSiteFactory ServiceCallSite, CallSiteChain abstract class ServiceCallSite ServiceCallSite是个 ...

  7. 使用Hot Chocolate和.NET 6构建GraphQL应用(8) —— 实现Mutate添加数据

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在讨论完GraphQL中的查询需求后,这篇文章我们将演示如何实现GraphQL中的数据添加任务. 思路 在G ...

  8. docker基础——4.网络待补

    docker network ls bridge:NAT桥 host:共用宿主机namespace的UTS.IPC.Network none:只有lo,没有网卡 其他待补

  9. (一)什么是Rabbitmq

    1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应. 异步通讯:就像发邮件,不需要马上回复. 两种方式各有优劣,打电话可以立即得到响应,但是你 ...

  10. 微服务从代码到k8s部署应有尽有系列(一)

    从本篇文章开始,我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 实战项目地址:https://github.com/Mikaelemmmm/go-zer ...