SQL Server语法基础:入门到精通

博客前言

在数据库管理的世界中,SQL Server无疑是一个重要的角色。无论是初学者还是经验丰富的数据库管理员,都需要对SQL Server的查询语法有深入的理解。本文将带领大家深入解析SQL Server的查询语法,并分享一些实用的技巧,帮助大家更好地利用SQL Server进行数据库操作。

一.SQL分类

QL语句主要可以分为四大类:数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。

1.数据查询语言(DQL)

数据查询语言(Data Query Language)主要用于从数据库中检索数据。它是SQL的核心部分,也是数据库应用中最常用的部分。

DQL语句的基本结构包括SELECT、FROM、WHERE等关键字,它们可以帮助我们从数据库中的一张或多张表中检索出符合条件的数据。

  • SELECT:用于指定要查询的列。
  • FROM:用于指定要查询的表。
  • WHERE:用于设置查询条件,只返回满足条件的数据。

除了基本的查询功能,DQL还支持对数据进行排序(ORDER BY)、分组(GROUP BY)和聚合(如SUM、AVG、MAX、MIN等函数)等操作,以满足更复杂的查询需求。

2.数据操纵语言(DML)

数据操纵语言(Data Manipulation Language)用于对数据库中的数据进行增、删、改等操作。

DML主要包括以下三种指令:

  • INSERT:用于向表中插入新的数据行。
  • UPDATE:用于修改表中已存在的数据。
  • DELETE:用于从表中删除数据行。

这些操作都直接影响数据库中的数据内容,因此需要谨慎使用

3.数据定义语言(DDL)

数据定义语言(Data Definition Language)用于定义和管理数据库中的所有对象,如数据库、表、索引、约束等。

DDL主要包括以下操作:

  • CREATE:用于创建新的数据库对象,如表、索引等。
  • ALTER:用于修改已存在的数据库对象。
  • DROP:用于删除数据库对象。

这些操作都影响数据库的结构和组织。

4.数据控制语言(DCL)

数据控制语言(Data Control Language)用于控制用户对数据库的访问权限。

DCL主要包括以下语句:

  • GRANT:用于授予用户或角色对数据库对象的特定权限。
  • REVOKE:用于撤销之前授予的权限。

这些操作有助于确保数据库的安全性和数据的完整性

二.基础语法 

2.1.创建数据库

create database db_name

 

2.2.删除数据库

drop database db_name

2.3备份sql server 

--- 创建 备份
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack

2.4.创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only

2.5.删除新表

drop table tabname

2.6.增加一个列 删除一个列

ALTER TABLE tb_su ADD age INT;ALTER TABLE tb_su DROP COLUMN age;

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

2.7.说明:添加/删除主键

Alter table tabname add primary key(col)
Alter table tabname drop primary key(col)

2.8.说明:创建/删除索引

create [unique] index idxname on tabname(col….)
drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

2.9.说明:创建/删除视图

create view viewname as select statement
drop view viewname

2.10.基本sql语句选择 

查询:select * from table1 where 范围
插入:insert into table1(field1,field2) s(1,2)
删除:delete from table1 where 范围
更新:update table1 set field1=1 where 范围
查找:select * from table1 where field1 like ’%1%’ ---like的语法
排序:select * from table1 order by field1,field2 [desc]
总数:select count * as totalcount from table1
求和:select sum(field1) as sum from table1
平均:select avg(field1) as avg from table1
最大:select max(field1) as max from table1
最小:select min(field1) as min from table1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599978.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能网联汽车自动驾驶数据记录系统DSSAD数据元素

目录 第一章 数据元素分级 第二章 数据元素分类 第三章 数据元素基本信息表 表1 车辆及自动驾驶数据记录系统基本信息 表2 车辆状态及动态信息 表3 自动驾驶系统运行信息 表4 行车环境信息 表5 驾驶员操作及状态信息 第一章 数据元素分级 自动驾驶数据记录系统记录的数…

后端nginx使用set_real_ip_from获取用户真实IP

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址. 前言:Nginx ngx_http_realip_module…

C++ 之 【类与对象】从入门到精通一条龙服务 入门篇

不要觉的自己很没用,其实你还可以给家人带来温暖,比如爸妈看到你就来火 目录: 一、面向过程和面向对象初步认识 二、类的引入 三、类的定义 四、类的访问限定符及封装 1.访问限定符 2.封装 五、类的作用域 六、类的实例化 七、类的…

Ubuntu 22.04安装新硬盘并启动时自动挂载

方法一 要在Ubuntu 22.04系统中安装一个新硬盘、对其进行格式化并实现启动时自动挂载,需要按以下步骤操作: 1. 安装硬盘 - 确保你的硬盘正确连接到计算机上(涉及硬件安装)。 2. 发现新硬盘 - 在系统启动后,打开终端…

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验 文章目录 IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验摘要引言 IntelliJ IDEA 2024.1 的新增功能主要亮点全行代码完成 最终的支持 Java 22 功能新航站楼 贝塔编辑器中的粘滞线 人工智能助…

【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用)

【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用) 在空间域中,图像处理就是直接对图像的像素进行操作 imadjust 是 MATLAB 中用于调整图像强度值或颜色图的函数。它可以改变图像的对比度,使得图像更清晰或更易于分析。以下是 imadju…

从零到部署指南:Ubuntu上安装Boost和Crow库

1.安装boost 在安装Crow之前,需要确保您的系统中已经安装了Boost库。以下是Boost库安装步骤: 首先,从Boost官方网站或通过特定的链接下载Boost的源码,boost源码具体可参看这个链接: https://blog.csdn.net/duan199201…

LangChain-13 Memory 通过 ConversationBufferMemory 记录会话的上下文 并在对话中自动检索

问题背景 平常我们的任务都是一次性会话,大模型是不会记录你的上下文的。如果我们要进行持续会话,或者希望大模型有记忆的话,我们需要对上下文进行管理。但这个过程是比较复杂的,LangChain 提供了一系列的工具来帮助我们简化过程…

golang web 开发 —— gin 框架 (gorm 链接 mysql)

目录 1. 介绍 2. 环境 3. gin 3.1 gin提供的常见路由 3.2 gin的分组 main.go router.go 代码结构 3.3 gin 提供的Json方法 main.go route.go common.go user.go order.go 3.4 gin框架下如何获取传递来的参数 第一种是GET请求后面直接 /拼上传递的参数 第二种是…

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 文章目录 Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止1. 备份mysql的data文件夹2. 重新构建 Wind…

亮数据----教你轻松获取数据

文章目录 1. 数据采集遇到的瓶颈1.1 不会造数据?1.2 不会写爬虫代码? 2.IP 代理基础知识2.1 基本概念2.2 作用和分类2.3 IP 代理的配置和使用2.4 安全和合规 3. 为何使用亮数据 IP 代理3.1 拥有丰富的代理网络服务3.2 简单易操作的采集工具3.3 拥有各平台…

QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)

QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)-腾讯云开发者社区-腾讯云 一、功能需求 一般在软件开发中,需要都有选择区域的需求,比如: 1. 截图软件,需要鼠标选择指定区域截图 2. 屏幕录像软件,需要鼠标选…