SQL server学习
SQL server学习
文章介绍:
大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家从基础小白到高阶的Sql server数据库学习,跟上我的步伐进入网络数据的世界吧。
微信:15319589104
QQ: 2981345658
此文章讲的是基于微软的Sql server数据库,对数据库从零到数据库进阶的学习。
数据库脚本
脚本: 用于创建数据库对象的语句集合。
SQL 语言:(Structured Query Language) 结构化查询语言 ,一种有目的的编程语言,用于存取数据、查询、更新和管理关系。
SQL Server 数据库脚本——Transact-SQL,简称T-SQL
T-SQL——基于SQL语言,用于应用程序和它们的数据库之间沟通的编程语言。
SQL中的数据类型
整数类型
- TINYINT:1 字节整数类型,可存储 0 到 255 范围内的整数。
- SMALLINT:2 字节整数类型,可存储 -32,768 到 32,767 范围内的整数。
- INT:4 字节整数类型,可存储 -2,147,483,648 到 2,147,483,647 范围内的整数。
- BIGINT:8 字节整数类型,可存储 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 范围内的整数。
数值类型
- DECIMAL 或 NUMERIC:用于分数精度的精确数值类型。必须在定义列时指定精度和小数位数。
- FLOAT:用于科学计算的近似值数值类型。必须在定义列时指定有效位数。
- REAL:用于科学计算的单精度近似值数值类型。
字符串类型
- CHAR:定长字符串类型,最长长度为 8,000 字节。如果存储长度小于定义的长度,则末尾会添加空格将其填充至定义长度。
- VARCHAR:变长字符串类型,最长长度为 8,000 字节。如果存储长度小于定义的长度,则只会存储实际长度。
- TEXT:可变文本类型,最长长度为 2^31-1 字节。
日期和时间类型
- DATE:用于存储日期的类型。
- TIME:用于存储时间的类型。
- DATETIME2:用于存储日期和时间的类型,精确到 100 纳秒。
- SMALLDATETIME:用于存储日期和时间的类型,精确到分钟级别。
其他常用类型
- BIT:用于存储布尔值(0 或 1)的类型。
- UNIQUEIDENTIFIER:用于存储唯一标识符(GUID)的类型。
- BINARY:定长二进制类型,最长长度为 8,000 字节。
- 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
:指定要插入到列中的值。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!