SQL Server基础.docx
- 文档编号:11172812
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:10
- 大小:61.95KB
SQL Server基础.docx
《SQL Server基础.docx》由会员分享,可在线阅读,更多相关《SQL Server基础.docx(10页珍藏版)》请在冰豆网上搜索。
SQLServer基础
SQL基础
前言:
当下流行数据库:
1、DB2
IBM公司产品
第一种使用SQL的数据库产品
支持多种操作系统、多种类型的硬件和设备
2、Oracle
Oracle公司的产品
第二个采用SQL的数据库产品
产品免费、服务收费
3、SQLServer
微软推出的一款数据库产品
针对不同用户群体的多个版本
易用性好、适合中小型项目
4、MySQL
体积小、速度快、总体拥有成本低
开放源码
5、Informix
IBM公司的产品
广泛应用于包括政府、金融保险、邮政电信、制造及零售等重要行业或领域
6、Sybase
SAP(Sybase)公司的产品
前十年比较流行
7、Access
集成在Office中的单机版数据库,比网络版简单
不用考虑数据库并发问题
适合做企业网站宣传
SqlServer基本概念
(一)介绍
1、数据库(DB):
组织、存储和管理数据的仓库。
2、数据库系统(DBS):
一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成
3、安装sql注意事项:
A、sql安装模式(选择混合模式(Windows和SQLServer))
B、身份验证模式(两种window和SQLServer用户)
注:
更改身份验证模式(数据库——属性——安全性)
4、系统数据库
master:
数据库记录SQLServer系统的所有系统级信息
model:
数据库用作在SQLServer实例上创建的所有数据库的模板
msdb:
数据库由SQLServer代理用于计划警报和作业
tempdb:
系统数据库是一个全局资源,例如临时表、临时存储过程、表变量或游标
5、数据库对象
a)表
b)视图
c)存储过程
d)触发器
e)自定义的表
f)....
6、数据库的三种类型文件
(1)主要数据文件(只有一个).mdf
(2)次要数据文件(可选0-n).ndf
(3)事务日志文件(至少一个).ldf
注:
在事务文件中,增删数据一条记录,修改两条记录
(2)管理
1、表与数据库
a)Catalog:
分类(一个分类也叫数据库)
b)数据库就是“数据”的“仓库”
定义表:
先定义表结构(列或字段、数据类型、约束)
定义类:
属性(字段)、方法
类:
对象
SQL常用数据类型
分类
备注和说明
数据类型
说明
二进制数据类型
存储非字符和文本的数据
Brnary
Varbinary
可用来存储图像
文本数据类型
字符数据包括任意字母、符号或数字字符的组合
Char
固定长度的非Unicode字符数据
Varchar
可变长度非Unicode数据
Nchar
固定长度的Unicode数据
Nvarchar
可变长度Unicode数据
日期和时间
日期和时间在单引号内输入
Datetime
日期和时间
数字数据
该数据仅包含数字,包括整数和浮点数
Int
Smallint
Bigint
整数
Numeric
Float
Real
浮点数
货币数据类型
用于十进制货币值
Money
Bit数据类型
表示是/否的数据
Bit
存储布尔数据类型
2、数据完整性:
精确性和可靠性
a)实体完整性:
对行数据(都有唯一标识符)
手段:
主键约束、唯一约束、标识列或GUID列
主键:
业务:
人看,有意义
逻辑:
电脑看,保证行的唯一性(推荐使用)
选择原则:
最少性和稳定性
b)域完整性:
对列数据
手段:
限制数据类型、检查约束、外键约束、默认值、非空约束
c)参照完整性:
对主外建的关系
手段:
外建约束
主表(被引用)
子表(在子表中创建主外关联)外建——引用主表主键
truncate(有引用子表时,使用它无作用)
d)用户自定义完整性:
手段:
触发器。
存储过程、规则
3、SQL
a)SQL:
结构化查询语言
b)T-SQL:
SQL加强版(微软的)
PL/SQL:
Oracle的SQL加强版
4、SQL组成
a)数据查询语言(DQL):
数据检索语句SELECT(查询)
b)数据操作语言(DML):
数据的增删改INSERT(增)、UPDATE(改)、DELETE(删)等
c)事务处理语言(TPL):
用于事务控制BEGINTRANSACTION(开启事务)、COMMIT(提交事务)、ROLLBACK(回滚事务)等
d)数据控制语言(DCL):
用来控制存取许可、存取权限GRANT(授权)、REVOKE(取消授权)等
e)数据定义语言(DDL):
用于定义数据库及其对象CREATETABLE(创建表)、DROPTABLE(删除表)alter(更新、修改)
f)指针控制语言(CCL):
像DECLARECURSOR(声明游标),FETCHINTO(获取游标中数据)等用于对一个或多个表单独行的操作
5、创建
a)创建数据库
USEmaster;
//判断数据库是否存在(存在删除)
IFDB_ID('数据库名')ISNOTNULLDROPDATABASE数据库名;
//创建数据库
CREATEDATABASE数据库名;
GO
b)创建数据表
//判断数据表是否存在(存在删除)
IFOBJECT_ID(‘数据表名’)ISNOTNULLDROPTABLE数据表名
//创建表
CREATETABLE数据表名
{
IDINTIDENTITY,//自动增长的标识列
MYIDCHAR(3)PRIMARYKEY,//主键
MYNAMEVARCHAR(20)NOTNULL//不为空
}
GO
c)约束
创建语法:
ALTERTABLE表名
ADDCONSTRAINT约束名约束类型具体的约束说明
i.主键约束(PrimaryKeyConstraint):
要求主键列数据唯一,并且不允许为空。
如PK_DeviceId
ii.唯一约束(UniqueConstraint):
要求该列唯一,允许为空,但只能出现一个空值。
如UQ_DeviceName
iii.检查约束(CheckConstraint):
某列取值范围限制、格式限制等,如有关年龄的约束。
如DF_Status
iv.默认约束(DefaultConstraint):
某列的默认值,如性别默认设为“男”。
如CK_Pwd
v.外键约束(ForeignKeyConstraint):
用于两表间建立关系,需要指定引用主表的哪列。
如FK_DeviceCId
删除约束语句:
ALTERTABLE表名
DROPCONSTRAINT约束名
6、增删改查
a)增:
i.IINSERTINTO表名(属性)VALUE(‘数据’,’’);//单条
ii.IINSERTINTO表名(属性)VALUE(‘数据’,’’),(‘’,’’),(‘’,’’);//多条
iii.IINSERTINTO表名(属性)VALUE
SELECT‘数据’,’’,’’UNION
SELECT‘数据’,’’,’’UNION
SELECT‘数据’,’’,’’;//多条
b)删:
DROPFROM表名WHEREId=’’;
c)改:
UPDATE表名SET字段名称=“改后内容”WHEREID=‘’;
//无修改条件,全部修改
d)查:
SELECT*FROM数据表名[WHEREID=’’]
用查询结果生成一个类似的新表(内无数据)(SELECTINTO)
SELECTTOP0*INTO#BOXFROM参照表名(#BOX为临时表)
注:
逻辑与AND逻辑或OR逻辑非NOT
7、单表查询(查询原理)
FROM表名
执行顺序→
WHERE查询条件
有GROUPBY才有HAVING
GROUPBY分组条件
HAVING分组后的筛选条件
SELECT字段列表(输出)可以为字段名起别名
ORDERBY排序条件(别名只能在这里用)
·默认:
升序DESC:
降序
SELECT
书写顺序→
FROM
WHERE
GROUPBY(如果出现在语句中,注意使用聚合函数)
HAVING
ORDERBY
注:
聚合函数:
多值得一个结果(自动过滤空值)
8、表联结
a)交叉联结CROSSJION
b)内连接INNERJION
c)外联结
i.左LEFTJION
ii.右RIGHTJION
iii.完整FULLJION
Innerjion执行原理;
1.首先crossjion进行笛卡尔积,产生笛卡尔积
2.使用on中的条件进行过滤(等值连接)
Left(right)jion执行原理:
1.首先执行innerjion,这样把两个表都有的数据过滤出去,两个表中没有匹配到的数据,看保留字,如果是left(right),则把左(右)表中的数据放到结果集中,没有匹配到的字段值以null进行填充。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server基础 Server 基础