sql server入门篇

  • 一、创建数据库
  • 二、修改数据库
  • 三、删除数据库
  • 四、数据表创建
  • 五、数据表数据修改(增、删、改)
  • 六、数据表查询
  • 七、数据表操作

一、创建数据库

1、格式

CREATE DATABASE 数据库名称
[  /*[] 表示可省略*/
ON [PRIMARY]   /*指定主数据库文件或文件组*/(    NAME = '主数据库文件的逻辑名称',FILENAME = '主数据库文件的路径名称',SIZE = 5,            /*文件初始大小*/MAXSIZE = 80,        /*文件的最大容量 可填 UNLIMITED*/FILEGROWTH = 2       /*文件的每次增长量*/),[,...n]  /*可重复多个文件,第一个以外的都为辅数据库文件*/[[filegroup dataGroup]  /*新建文件组 dataGroup (不是文件夹)*/(    /*文件信息*/),[,...n]  /*可重复多个文件*/[,...n]  /*可重复多个文件组*/]LOG ON (    NAME = '事务日志文件的逻辑名称',FILENAME = '事务日志文件的路径名称',SIZE = 5,        /*文件初始大小*/MAXSIZE = 80,    /*文件的最大容量 可填 UNLIMITED*/FILEGROWTH = 2   /*文件的每次增长量*/),[,...n]   /*可重复多个日志文件*/
]

2、示例一: 创建名为 MISS 默认配置的数据库

CREATE DATABASE MISS

3、示例二: 创建名为 MISS 设定配置的数据库,

CREATE DATABASE MISS
ON
(NAME = 'mainData',FILENAME = 'C:\\MainData.mdf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
)LOG ON
(   NAME = 'log',FILENAME = 'C:\\Log.ldf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
)

4、示例三: 创建名为 MISS 设定配置, 两个文件组(不是文件夹),四个数据文件,两个日志文件的数据库

CREATE DATABASE MISSONPRIMARY(NAME = 'mainData',FILENAME = 'C:\\MainData.mdf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2),(NAME = 'Data',FILENAME = 'C:\\Data.mdf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2),filegroup dataGroup(NAME = 'data0',FILENAME = 'C:\\Data0.ndf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2),(NAME = 'data1',FILENAME = 'C:\\Data1.ndf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2)LOG ON
(   NAME = 'log0',FILENAME = 'C:\\Log0.ldf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
),
(   NAME = 'log1',FILENAME = 'C:\\Log1.ldf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
)

二、修改数据库

1、格式

/*一次只能执行一个选项*/
ALTER DATABASE 数据库名称
/*1、增加数据文件*/
ADD FILE
(/*文件信息*/
),
[,...n]  /*可重复多个文件,第一个以外的都为辅数据库文件*/
TO FILEGROUP dataGroup   /*文件添加至 dataGroup 文件组*//*2、增加事务日志文件*/
ADD LOG FILE
(/*文件信息*/
),
[,...n]  /*可重复多个文件,第一个以外的都为辅数据库文件*//*3、添加文件组*/
ADD FILEGROUP 文件组名称/*4、删除文件,只有文件为空时才能删除*/
REMOVE FILE 文件逻辑名称/*5、删除文件组,只有文件组为空时才能删除*/
REMOVE FILEGROUP 文件组名称/*6、修改指定文件的属性,一次只能修改一个属性*/
MODIFY FILE
(NAME = '文件的逻辑名称',  /*此项不可修改*//*需要修改的文件属性*/
)/*7、重命名数据库*/
ALTER DATABASE 旧名称 MODIFY NAME = 新名称

2、示例

/*1、增加数据文件 file0 和 file1 */
ALTER DATABASE MISS
ADD FILE
(NAME = 'file0',FILENAME = 'F:\sql server\file0.ndf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
),
(NAME = 'file1',FILENAME = 'F:\sql server\file1.ndf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
)
TO FILEGROUP dataGroup/*2、增加事务日志文件 logFile0 和 logFile1 */
ALTER DATABASE MISS
ADD LOG FILE
(NAME = 'logFile0',FILENAME = 'F:\sql server\logFile0.ldf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
),
(NAME = 'logFile1',FILENAME = 'F:\sql server\logFile1.ldf',SIZE = 3,MAXSIZE = 80,FILEGROWTH = 2
)/*3、添加文件组 dataGroup0 */
ALTER DATABASE MISS
ADD FILEGROUP dataGroup0/*4、删除文件 file1 */
ALTER DATABASE MISS
REMOVE FILE file1/*5、删除文件组 dataGroup0 */
ALTER DATABASE MISS
REMOVE FILEGROUP dataGroup0/*6、修改文件 file0.ndf 为 file.ndf */
ALTER DATABASE MISS
MODIFY FILE
(NAME = 'file0',FILENAME = 'F:\sql server\file.ndf'
)/*7、数据库 MISS 重命名为 miss */
ALTER DATABASE MISS MODIFY NAME = miss

三、删除数据库

DROP DATABASE 数据库1名称,数据库2名称  /*不能删除正在使用的数据库*/

示例

DROP DATABASE miss

四、数据表创建

1、格式

CREATE TABLE 表格名称
(字段名称  字段类型 [约束 ...],字段名称  字段类型 [约束 ...],字段名称  字段类型 [约束 ...],...
)
约束 描叙
primary key 将字段设置为主键
not null 指定该字段的值不能为空
unique 指定该字段的值不能重复
check 约束该字段值的范围
default 指定该字段的默认值

2、示例

CREATE TABLE missTb
(
编号 int primary key,  /*设置该字段为主键*/
姓名 varchar(10) unique not null,  /*设置该字段的值不能重复且不能为空*/
年龄 int check(年龄>=0 and 年龄 <=100),  /*设置该字段的值在0-100之间*/
性别 char(2) not null,  /*设置该字段的值不能为空*/
备注 text default '无',  /*设置该字段的默认值为 无*/
)

五、数据表数据修改(增、删、改)

–1) insert [into] 语句 (用于向表中插入新记录。)

insert [into] 数据表名
[(字段名[,字段名2, ...])]
values (值[,值2, ...])[,...n]  /*可插入多行数据*/

–2) update 语句 (用于更新表中的记录。)

update 数据表名称
set 字段1=值1,字段2=值2,...
[where 字段名 = 值]  /*如果不写则删除整个字段的值*/

–2) delete 语句 (用于删除表中的记录。)

delete from 数据表名称
[where 字段名 = 值]  /*如果不写则删除整个字段的值*/

–3) alter table 语句 (用于在已有的表中添加、删除或修改列。)

/*添加列*/
alter table 数据表名称 add 列名称 数据类型
/*删除列*/
alter table 数据表名称
drop column 列名称
/*改变列的数据类型*/
alter table 数据表名称
alter column 列名称 数据类型

六、数据表查询

数据表查询内容较多,基本是通用的。

–1) select 语句 (用于从数据表中选取数据。)

select *|字段名[,字段名2, ...]
from 数据表名;

–2) where 子句 (用于提取那些满足指定条件的记录。)

SELECT *|字段名[,字段名2, ...]
FROM 数据表名
WHERE *|字段名[,字段名2, ...] 条件表达式;

–3) and & or 运算符 (用于基于一个以上的条件对记录进行过滤。)

and 与运算符,符合所有条件则返回
or 或运算符,符合其中一个条件则返回

–4) distinct 关键字 (用来消除查询结果中的重复行)

select [distinct] * | 字段名[,字段名2, ...]
from 数据表名

–5) top 关键字 (用来查找结果中前n条或前n%条记录)

select [top n | n percent] * | 字段名[,字段名2, ...]
from 数据表名

–6) between…and…关键字 (用于选取介于两个值之间的数据范围内的值。)

select *|字段名[,字段名2, ...]
from 数据表名
where 字段名 [not] between 低值 and 高值
--加"not"表示对满足between...and...关键字的查找结果取反值

–7) in 关键字 (用来查找结果为指定值的记录)

select *|字段名[,字段名2, ...]
from 数据表名
where 字段名 [not] in (值1,值2,值3,...)
--加"not"表示对满足in关键字的查找结果取反值

–8) is null 关键字 (用来查询字段中是否包含空值)

select *|字段名[,字段名2, ...]
from 数据表名
where 字段名 is null

–9) like 关键字 (用来实现表示一定范围的模糊查询,主要用于字符型字段,使用时放于where后面,作为筛选条件)

select [关键字] *|字段名[,字段名2, ...]
from 数据表名
where 字段名 [not] like '<字符表达式>'
--加"not"表示对满足like关键字的查找结果取反值

–10) 通配符 (可用于替代字符串中的任何其他字符。)

%  替代 0 个或多个字符;
_  替代一个字符;
[] 匹配自字符集的任意单一字符
[^] 与 [] 相反

–11) as 关键字 (为表名称或列名称指定别名。)

select 字段名 as 字段别名
from 数据表名 as 数据表别名

–12) AVG() 函数 (返回数值列的平均值。)

select AVG(字段名) from 数据表名

–13) COUNT() 函数 (返回匹配指定条件的行数。)

select COUNT(*|字段名[,字段名2, ...])
from 数据表名
[where 条件表达式];

–14) MAX() 函数 (返回指定列的最大值。)

select MAX(字段名) from 数据表名;

–15) MIN() 函数 (返回指定列的最小值。)

select MIN(字段名) from 数据表名;

–16) SUM() 函数 (返回数值列的总数。)

select SUM(字段名) from 数据表名;

–17) upper() 函数 (把字段的值转换为大写。)

select upper(字段名) FROM 数据表名;

–18) lower() 函数 (把字段的值转换为小写。)

select lower(字段名) FROM 数据表名;

–19) mid() 函数 (用于从文本字段中提取字符。)

select mid(字段名,开始位置[,返回的字符数]) FROM 数据表名;

–20) len() 函数 (返回文本字段中值的长度。)

select len(字段名) FROM 数据表名;

–21) round() 函数 (用于把数值字段舍入为指定的小数位数。)

select round(字段名,小数位数) FROM 数据表名;

–22) now() 函数 (返回当前系统的日期和时间。)

select now() FROM 数据表名;

–23) format() 函数 (用于对字段的显示进行格式化。)

select format(字段名,格式) FROM 数据表名;

–24) order by 语句 (用于对结果集进行排序。)

select *|字段名[,字段名2, ...]
from 数据表名
order by *|字段名[,字段名2, ...] asc|desc;

–25) group by 语句 (用于一个或多个列对结果集进行分组。)

select 字段名, 聚合函数(字段名)
from 数据表名
where 字段名 operator value
group by 字段名;

–26) having 子句 (用于限制聚合函数,)

select 字段名, 聚合函数(字段名)
from 数据表名
where 字段名 operator value
group by 字段名
having 聚合函数(字段名) operator value;

–27) exists 运算符 (用于判断查询子句是否有记录,存在返回 True,否则返回 False。)

select *|字段名[,字段名2, ...]
from 数据表名
where exists
(select 字段名 from 数据表名 where 条件表达式);

–28) INNER JOIN 关键字 (在表中存在至少一个匹配时返回行。)

SELECT *|字段名[,字段名2, ...]
FROM 数据表1
INNER JOIN 数据表2
ON 数据表1.字段名 = 数据表2.字段名;

–29) LEFT JOIN 关键字 (从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。)

SELECT *|字段名[,字段名2, ...]
FROM 数据表1
LEFT JOIN 数据表2
ON 数据表1.字段名 = 数据表2.字段名;

–30) RIGHT JOIN 关键字 (从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。)

SELECT *|字段名[,字段名2, ...]
FROM 数据表1
RIGHT JOIN 数据表2
ON 数据表1.字段名 = 数据表2.字段名;

–31) FULL OUTER JOIN 关键字 (只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.)

SELECT *|字段名[,字段名2, ...]
FROM 数据表1
FULL OUTER JOIN 数据表2
ON 数据表1.字段名 = 数据表2.字段名;

–32) union 操作符 (用于合并两个或多个 SELECT 语句的结果集。)

select *|字段名[,字段名2, ...] from 数据表1
union
select *|字段名[,字段名2, ...] from 数据表2;

七、数据表操作

1、重命名数据表

exec sp_rename '旧数据表名称' , '新数据表名称'

2、删除数据表

drop table 数据表[,数据表2,...]

更多请参考 sql server 文档:
https://docs.microsoft.com/zh-cn/sql/sql-server/?view=sql-server-ver15

sql server 入门篇相关推荐

  1. 《Microsoft SQL Server入门教程》第02篇 SQL Server 下载与安装

    文章目录 安装 SQL Server 安装 SQL Server Management Studio 连接 SQL Server 本篇我们介绍如何下载和安装 SQL Server 2019 开发者版本 ...

  2. sql server 入门_SQL Server查询调整入门

    sql server 入门 This article will cover some essential techniques for SQL query tuning. Query tuning i ...

  3. sql server 入门_SQL Server中的数据挖掘入门

    sql server 入门 介绍 (Introduction) In past chats, we have had a look at a myriad of different Business ...

  4. sql server 入门教程

    sql server 入门教程 1.创建数据库 1)鼠标右键数据库选项,点击新建数据库 2)命名数据库 根据自己业务情况取一个自定义数据库名字,比如:my_database 3)查看数据库 如果添加没 ...

  5. SQL Server入门(四) 官网关于 SQL Server初级入门教程

    原文http://www.shareblogs.top/444/ 学习内容 这些教程将帮助你理解 SSMS 中提供的信息以及如何利用其功能. 熟悉 SSMS 的最好方式是进行实践演练. 这些教程将使你 ...

  6. 使用WinDbg调试SQL Server——入门

    这篇文章我想探究下SQL Server里完全不同的领域:如果使用WinDbg(来自针对Windows的调试工具)调试SQL Server.在我们进入枯涩细节之前,我想详细解释下为什么选择这样晦涩的话题 ...

  7. aws rds监控慢sql_AWS RDS SQL Server入门

    aws rds监控慢sql This article describes the concepts and steps to setup AWS RDS SQL Server(Relational D ...

  8. SQL Server 安全篇——SQL Server 安全模型(1)——安全性主体层级

    本文属于SQL Server安全专题系列 前言: 随着数据安全性的越来越重要,很有必要介绍一下数据库的安全方面的内容.本文兼容SQL Server 2016,但是由于安全这个范围太大,不可能完全说清楚 ...

  9. SQL Server 入门复习(2008)图解

    1 首先找到开始菜单中相关内容:如下图:安装的组件不同可能有所不同:我的电脑中包括如下项: 商业智能:管理控制台:导入和导出数据:分析服务:集成服务:配置工具:文档和教程:性能工具: 因为偶装的组件多 ...

最新文章

  1. Centos 7 下安装PHP7.2(与Apache搭配的安装方式)
  2. C语言atoi()函数用法
  3. 1349. 修理牛棚【难度: 中 / 思维 贪心】
  4. winform 后台线程更新UI
  5. 玩游戏老显示计算机内存不足,windows8.1玩游戏经常提示内存不足
  6. Spring3国际化和本地化
  7. centos的glibc升级方案 'GLIBCXX_3.4.15' not found错误的解决
  8. 『中级篇』docker之CI/CD持续集成-(终结篇)(77)
  9. Apache Flink 误用之痛
  10. Aop RealProxy 千年遇BUG
  11. 标签、画像设计与模型落地
  12. 如何利用百度经验做网络推广
  13. 用c语言设计红绿灯程序,[转载]51单片机用C语言实现交通灯(红绿灯)源程
  14. Matlab上位机开发(一) —— 了解上位机
  15. 局部路径规划算法-DWA动态窗口法
  16. word 如何将页面设置为50行(任意行)
  17. JavaScript常用事件及其区别
  18. js实现鼠标放在div 悬浮显示另一个div内容链接 (不占位置)
  19. Metasploit -- 生成木马(msfvenom)
  20. driver failed programming external connectivity on endpoint

热门文章

  1. python 调用matlab的.m文件
  2. 数值分析试验四 runge_kutta 龙格库塔c++代码
  3. 单细胞转录组学应用:骨髓微环境
  4. 2021年 证券 考试 答案 后续培训 投资 基金 合规 政策 从业人员
  5. 五剑同辉 聚力安全:绿盟科技五大安全实验室震撼发布
  6. vue.js 密码加密_Word2007/2016/2019文档加密的方法
  7. MySQL数据库实操教程(23)——数据库备份与还原
  8. VC++6.0新建C语言项目以及代码运行
  9. 科普:快速了解第三代半导体及什么是宽禁带半导体
  10. 监听from的submit事件