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. ApacheCN Golang 译文集 20211025 更新

    Go 云原生编程 零.前言 一.现代微服务架构 二.使用 RESTAPI 构建微服务 三.保护微服务 四.使用消息队列的异步微服务架构 五.使用 React 构建前端 六.在容器中部署应用 七.AWS ...

  2. SqlServer基础语法

    历史 有很多软件公司开发了数据库产品,其中微软公司的数据库产品命名为 SQL Server,也称 MS SQL Server. 1989年 Ashton-Tate/Microsoft SQL Serv ...

  3. JAVA多线程学习五:线程范围内共享变量&ThreadLocal

    一.概念 可以将每个线程用到的数据与对应的线程号存放到一个map集合中,使用数据时从这个集合中根据线程号获取对应线程的数据,就可以实现线程范围内共享相同的变量. 二.代码 Runnable中的run( ...

  4. Linux远程访问及控制

    Linux远程访问及控制 目录 Linux远程访问及控制 一.SSH远程管理 1. SSH远程管理概述 2. OpenSSH概述 3. 配置OpenSSH服务端 4. sshd服务的验证方式 5. 使 ...

  5. Cadence物理库 LEF 文件语法学习【持续更新】

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索. 关注公众号,拉你进"IC设计交流群". @ 目录 一.LEF简介 1.1 通用规则 1.2 管理 LEF 文件 二. ...

  6. JetBrains官博:将从IntelliJ平台移除Log4j的依赖

    今早,DD注意到JetBrains在官方博客发文宣布要将log4j从IntelliJ平台移除了,该变化将在2022.1版本发布. 从博文看,本次移除log4j的漏洞,并非担心log4j2的漏洞问题,因 ...

  7. js reduce累加器

    ​ reduce 是es6 新增的数组操作方法 意为累加器 使用方法如下 [1,1,1,1].reduce((total,currentValue,index)=>{ },initialValu ...

  8. 框架3--backup结构(rsync复制指令)

    目录 框架3--备份结构(rsync复制指令) 一.3个复制指令 二.rsync介绍 三.rsync特性 四.rsync应用场景 4.1 全量备份 4.2 增量备份 五.rsync的传输方式(推+拉) ...

  9. Redis 源码简洁剖析 12 - 一条命令的处理过程

    命令的处理过程 Redis server 和一个客户端建立连接后,会在事件驱动框架中注册可读事件--客户端的命令请求.命令处理对应 4 个阶段: 命令读取:对应 readQueryFromClient ...

  10. 2018 PHP面试题

    2018 PHP面试题 题目来自<PHP程序员面试笔试宝典>,里面涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. 1.PHP常考基础 1.PHP ...