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.创建数据库

sql 复制代码
create database db_name

2.2.删除数据库

bash 复制代码
drop database db_name

2.3备份sql server

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

2.4.创建新表

sql 复制代码
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.删除新表

bash 复制代码
drop table tabname

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

sql 复制代码
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.说明:创建/删除索引

bash 复制代码
create [unique] index idxname on tabname(col....)
drop index idxname

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

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

bash 复制代码
create view viewname as select statement
drop view viewname

2.10.基本sql语句选择

bash 复制代码
查询: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
复制代码
相关推荐
qwy71522925816319 分钟前
13-R数据重塑
服务器·数据库·r语言
Bio Coder21 分钟前
R语言安装生物信息数据库包
开发语言·数据库·r语言
钊兵1 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
weixin_425878232 小时前
Redis复制性能优化利器:深入解析replica-lazy-flush参数
数据库·redis·性能优化
左灯右行的爱情3 小时前
Redis数据结构总结-listPack
数据结构·数据库·redis
隔壁老王1563 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
想要打 Acm 的小周同学呀4 小时前
Redis三剑客解决方案
数据库·redis·缓存
rkmhr_sef4 小时前
Redis 下载与安装 教程 windows版
数据库·windows·redis
库库林_沙琪马5 小时前
Redis 缓存穿透、击穿、雪崩:问题与解决方案
数据库·redis·缓存