sql server 入门篇
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 入门篇相关推荐
- 《Microsoft SQL Server入门教程》第02篇 SQL Server 下载与安装
文章目录 安装 SQL Server 安装 SQL Server Management Studio 连接 SQL Server 本篇我们介绍如何下载和安装 SQL Server 2019 开发者版本 ...
- sql server 入门_SQL Server查询调整入门
sql server 入门 This article will cover some essential techniques for SQL query tuning. Query tuning i ...
- sql server 入门_SQL Server中的数据挖掘入门
sql server 入门 介绍 (Introduction) In past chats, we have had a look at a myriad of different Business ...
- sql server 入门教程
sql server 入门教程 1.创建数据库 1)鼠标右键数据库选项,点击新建数据库 2)命名数据库 根据自己业务情况取一个自定义数据库名字,比如:my_database 3)查看数据库 如果添加没 ...
- SQL Server入门(四) 官网关于 SQL Server初级入门教程
原文http://www.shareblogs.top/444/ 学习内容 这些教程将帮助你理解 SSMS 中提供的信息以及如何利用其功能. 熟悉 SSMS 的最好方式是进行实践演练. 这些教程将使你 ...
- 使用WinDbg调试SQL Server——入门
这篇文章我想探究下SQL Server里完全不同的领域:如果使用WinDbg(来自针对Windows的调试工具)调试SQL Server.在我们进入枯涩细节之前,我想详细解释下为什么选择这样晦涩的话题 ...
- 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 ...
- SQL Server 安全篇——SQL Server 安全模型(1)——安全性主体层级
本文属于SQL Server安全专题系列 前言: 随着数据安全性的越来越重要,很有必要介绍一下数据库的安全方面的内容.本文兼容SQL Server 2016,但是由于安全这个范围太大,不可能完全说清楚 ...
- SQL Server 入门复习(2008)图解
1 首先找到开始菜单中相关内容:如下图:安装的组件不同可能有所不同:我的电脑中包括如下项: 商业智能:管理控制台:导入和导出数据:分析服务:集成服务:配置工具:文档和教程:性能工具: 因为偶装的组件多 ...
最新文章
- Centos 7 下安装PHP7.2(与Apache搭配的安装方式)
- C语言atoi()函数用法
- 1349. 修理牛棚【难度: 中 / 思维 贪心】
- winform 后台线程更新UI
- 玩游戏老显示计算机内存不足,windows8.1玩游戏经常提示内存不足
- Spring3国际化和本地化
- centos的glibc升级方案 'GLIBCXX_3.4.15' not found错误的解决
- 『中级篇』docker之CI/CD持续集成-(终结篇)(77)
- Apache Flink 误用之痛
- Aop RealProxy 千年遇BUG
- 标签、画像设计与模型落地
- 如何利用百度经验做网络推广
- 用c语言设计红绿灯程序,[转载]51单片机用C语言实现交通灯(红绿灯)源程
- Matlab上位机开发(一) —— 了解上位机
- 局部路径规划算法-DWA动态窗口法
- word 如何将页面设置为50行(任意行)
- JavaScript常用事件及其区别
- js实现鼠标放在div 悬浮显示另一个div内容链接 (不占位置)
- Metasploit -- 生成木马(msfvenom)
- driver failed programming external connectivity on endpoint
热门文章
- python 调用matlab的.m文件
- 数值分析试验四 runge_kutta 龙格库塔c++代码
- 单细胞转录组学应用:骨髓微环境
- 2021年 证券 考试 答案 后续培训 投资 基金 合规 政策 从业人员
- 五剑同辉 聚力安全:绿盟科技五大安全实验室震撼发布
- vue.js 密码加密_Word2007/2016/2019文档加密的方法
- MySQL数据库实操教程(23)——数据库备份与还原
- VC++6.0新建C语言项目以及代码运行
- 科普:快速了解第三代半导体及什么是宽禁带半导体
- 监听from的submit事件