SQL server学习

2023-12-30 13:19:04

SQL server学习

文章介绍:
大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家从基础小白到高阶的Sql server数据库学习,跟上我的步伐进入网络数据的世界吧。
微信:15319589104
QQ: 2981345658
此文章讲的是基于微软的Sql server数据库,对数据库从零到数据库进阶的学习。

数据库脚本

脚本: 用于创建数据库对象的语句集合。
SQL 语言:(Structured Query Language) 结构化查询语言 ,一种有目的的编程语言,用于存取数据、查询、更新和管理关系。
SQL Server 数据库脚本——Transact-SQL,简称T-SQL
T-SQL——基于SQL语言,用于应用程序和它们的数据库之间沟通的编程语言。

SQL中的数据类型

整数类型
  1. TINYINT:1 字节整数类型,可存储 0 到 255 范围内的整数。
  2. SMALLINT:2 字节整数类型,可存储 -32,768 到 32,767 范围内的整数。
  3. INT:4 字节整数类型,可存储 -2,147,483,648 到 2,147,483,647 范围内的整数。
  4. BIGINT:8 字节整数类型,可存储 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 范围内的整数。
数值类型
  1. DECIMALNUMERIC:用于分数精度的精确数值类型。必须在定义列时指定精度和小数位数。
  2. FLOAT:用于科学计算的近似值数值类型。必须在定义列时指定有效位数。
  3. REAL:用于科学计算的单精度近似值数值类型。
字符串类型
  1. CHAR:定长字符串类型,最长长度为 8,000 字节。如果存储长度小于定义的长度,则末尾会添加空格将其填充至定义长度。
  2. VARCHAR:变长字符串类型,最长长度为 8,000 字节。如果存储长度小于定义的长度,则只会存储实际长度。
  3. TEXT:可变文本类型,最长长度为 2^31-1 字节。
日期和时间类型
  1. DATE:用于存储日期的类型。
  2. TIME:用于存储时间的类型。
  3. DATETIME2:用于存储日期和时间的类型,精确到 100 纳秒。
  4. SMALLDATETIME:用于存储日期和时间的类型,精确到分钟级别。
其他常用类型
  1. BIT:用于存储布尔值(0 或 1)的类型。
  2. UNIQUEIDENTIFIER:用于存储唯一标识符(GUID)的类型。
  3. BINARY:定长二进制类型,最长长度为 8,000 字节。
  4. VARBINARY:变长二进制类型,最长长度为 8,000 字节。

以上是 SQL Server 中的一些常见数据类型,它们的用途和特点不同,可以根据实际需求选择使用。在定义数据库对象时,正确选择数据类型可以提高性能和减小存储空间。

SQL 语言分类

SQL 分为 : DQL DML DDL DCL

DQL 数据库查询语言

DQL是一种用于获取数据的数据查询语言。DQL由SELECT语句组成,用于从表中检索数据并返回结果。以下是SQL Server中DQL的一些常见用法和语法规则:

select语句

SELECT语句用于: 指定要从表中检索的列,以及标识从哪个表中检索数据。
语法:

select 行名称,列名称 from 表名 where  可选择项

实例:
要从名为Emp的表中检索每个雇员的姓名和薪水,语句如下:

select FirstName,LastName,Salary from Emp;

这会返回三列结果集。

select distinct语句

用于从表中检索不同的值或去重后的结果集。
语法:

select distinct 检索列名称 from 表名 where 筛选检察结果

实例:
要从名为Emp的表中检索不同的职位 work类型:

select distinct work from Emp;
where语句

where语句用于检索满足指定条件的行。可以使用运算符(=,<>,>,<,>=,<=,between,like和in)来构建条件。
语法:

select 检索列名称 from 表名  where 筛选条件

实例:
从表名中,检索处出薪水高于50000的员工:

select Firstname from Emp where Salary > 50000;
and 和 or 操作符

and和or操作符用于俩个以上的条件来组合筛选查询结果
and语句语法:

select 检索列名 from 表名 where A and B;

实例:

-- 筛选条件number大于100和等于100的人
select Peopele from Emp where number > 100 and number = 100;

or语句语法:

select Peopele from Emp where A or B;

实例:

-- 筛选条件number>100 或者 number<100
select People from Emp where number > 100 or number < 100;
In 操作符

例如在表Emp中的部门为Sakes或Marketing的雇员

select FirstName from Emp where Department in ('Sakes','Marketing');
Between操作符

between操作符用于指定范围内的值。

语法:

select Firstname from Emp where ColumnName between 1 and 20;
Like操作符

用于where句子中进行模式匹配
语法:

select Column1 from Emp where CoulumnName like null;

实例:
从表名为Emp中检索出所有以字符J开头的雇员和星星

select FirstName, LastName from Emp where FirstName like 'J%';
模糊查询

like SQL提供2种匹配模式:

1.% 0个或多个字符 ‘%a’ ‘a%’ ‘%a%’ ——匹配任意类型和长度 效率不高

--1) like '%ad%'    包含于  
    select * from UserInfos where UserName like '%ad%'
--2) like '%in'   以匹配字符或字符串结尾
    select * from UserInfos where UserName like '%u'
--3)like 'w%'   以匹配字符或字符串开头
    select * from UserInfos where UserName like 'l%'

2._匹配单个字符 限制表达式的字符长度

 -- _  匹配单个字符    限制表达式的字符长度
select * from UserInfos where UserName like '_____'

3.[ ] 范围匹配 括号中所有字符中的一个

-- [ ] 范围匹配  括号中所有字符中的一个
select * from UserInfos where UserName like 'ad[mnd]in'
select * from UserInfos where UserName like 'ad[m-p]in'

4.[^] 不在括号中所有字符之内的单个字符

-- [^] 不在括号中所有字符之内的单个字符
select * from UserInfos where UserNam4.[^]
范围查询

where 子句/条件

-- 比较运算符 >,<,>=,<=,<>不等于
select * from Emp where Age > 20 and Name < 40
-- in (2,3,4) 在括号的范围内   not in (2,3,4)不在括号的范围内
select * from Emp where Age not in (20,30,40)
select * from Emp where Age in (20,30,40)
-- between and
 select * from Emp where Age between  20 and 30
-- 前面多少条数据  TOP n 查询前n条数据
select top 10 * from eMP
聚合函数

聚合函数:对一组值执行计算并返回单一的值

-- count记录个数  统计一个表的数
select count(1) * from Emp
-- sum求和
select sum(Age) from Emp
-- avg 求平均
select avg(Age) from Emp 
-- max 最大值
select max(Age) from Emp
-- min 最小值
select min(Age) from Emp
DML 数据操作语言

在SQL Server中,DML(数据操作语言)表示插入、更新和删除表中的数据.

插入数据

insert语句用于将数据插入到表中,可以在一次insert语句中插入一行或多行数据。
语法:

insert into TableName(Column1,Column2)
values (Value1,Value2);
  • TableName:指定要插入数据的表名。
  • Value1, Value2, …, ValueN:指定要插入到列中的值。
<

文章来源:https://blog.csdn.net/2202_75310477/article/details/135279617
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。