1. 常用数据类型
在Sql Server数据库中,常用的数据类型包括:
1.1 整数类型
整数类型包括int、smallint、bigint、tinyint四种,它们存储的整数范围不同,可用于存储年龄、数量、金额等数字类型的数据。比如:
--创建一个整数类型的表
CREATE TABLE integer_table (
id int,
age tinyint,
quantity smallint,
price bigint
)
1.2 字符串类型
字符串类型包括char、varchar、text三种,它们用于存储文本、描述等类型的数据。其中,char和varchar的区别在于char是定长字符串,而varchar是变长字符串,text则用于存储较长的文本类型数据。比如:
--创建一个字符串类型的表
CREATE TABLE string_table (
id int,
name char(20),
description varchar(100),
content text
)
1.3 日期时间类型
日期时间类型包括datetime、date、time三种,它们用于存储时间类型的数据。其中,datetime精度为毫秒级,date只存储日期,time只存储时间。比如:
--创建一个日期时间类型的表
CREATE TABLE datetime_table (
id int,
datetime_column datetime,
date_column date,
time_column time
)
2. 数据库约束
为了保证数据的完整性和正确性,Sql Server数据库中提供了多种类型的约束,包括:
2.1 主键约束
用于唯一标识表中的一条记录,不能重复,可以作为其他表的外键。比如:
--创建一个主键约束
CREATE TABLE PK_table (
id int primary key,
name varchar(20)
)
2.2 外键约束
用于保证表与表之间的关系,在一个表中定义了另一个表的主键作为外键后,可以保证外键表的数据来源于主键表。比如:
--创建一个外键约束
CREATE TABLE FK_table (
id int primary key,
name varchar(20),
PK_id int foreign key references PK_table(id)
)
2.3 唯一约束
用于保证某一列数据的唯一性,不允许重复。比如:
--创建一个唯一约束
CREATE TABLE Unique_table (
id int,
name varchar(20) unique
)
2.4 检查约束
用于保证某一列数据的取值范围、格式等符合规定。比如:
--创建一个检查约束
CREATE TABLE Check_table (
id int,
name varchar(20),
age tinyint check(age >= 18 and age <= 60)
)
3. 数据库查询
在Sql Server数据库中,常用的查询语句包括:
3.1 SELECT语句
用于查询表中的数据,可以使用一些函数进行数据处理。
--查询表中的所有数据
SELECT * FROM table_name
--查询表中的部分数据
SELECT column1, column2, ... FROM table_name
--使用函数进行数据处理
SELECT column1, column2*2 as doubled_column2, ... FROM table_name
3.2 WHERE语句
用于筛选满足条件的数据。
--查询age大于20的数据
SELECT * FROM table_name
WHERE age > 20
--查询name包含'John'的数据
SELECT * FROM table_name
WHERE name like '%John%'
3.3 ORDER BY语句
用于对查询结果按照某一列进行排序,默认是升序排列。
--按age升序排列
SELECT * FROM table_name
ORDER BY age
--按name降序排列
SELECT * FROM table_name
ORDER BY name desc
3.4 GROUP BY语句
用于对查询结果按照某一列进行分组统计。
--按age进行分组统计
SELECT age, count(*) as total FROM table_name
GROUP BY age
4. 数据库索引
为了提高查询效率,Sql Server数据库中提供了索引的功能。
4.1 创建索引
可以对表中某一列或多列创建索引,可加快查询、排序等操作。
--创建单列索引
CREATE INDEX index_name ON table_name(column_name)
--创建多列索引
CREATE INDEX index_name ON table_name(column_name1, column_name2, ...)
4.2 删除索引
可以通过ALTER TABLE语句删除索引。
--删除单列索引
ALTER TABLE table_name
DROP INDEX index_name
--删除多列索引
ALTER TABLE table_name
DROP INDEX index_name1, index_name2, ...
4.3 查看索引
可以通过系统视图来查看索引。
--查看表的索引
SELECT * FROM sys.indexes
WHERE object_id = OBJECT_ID('table_name')
--查看索引的列
SELECT * FROM sys.index_columns
WHERE object_id = OBJECT_ID('table_name')
5. 数据库备份和恢复
为了保证数据的安全,需要定期备份数据库,以备不时之需。
5.1 备份数据库
可以通过Sql Server Management Studio(SSMS)的图形界面进行备份。
在对象资源管理器中右键点击数据库,选择任务-备份
在备份数据库的窗口中,选择备份类型、备份文件、备份选项等
点击“确定”开始备份
5.2 恢复数据库
可以通过SSMS的图形界面进行恢复。
在对象资源管理器中右键点击服务器名称,选择“连接对象资源管理器”
在对象资源管理器中展开“管理”节点,点击“恢复数据库”
在恢复数据库的窗口中,选择要恢复的备份文件、恢复选项等
点击“确定”开始恢复
6. 总结
Sql Server数据库的常用知识点主要涉及数据类型、约束、查询、索引、备份和恢复等方面,掌握了这些知识点,能够更好地管理和维护数据库,提高工作效率和数据安全性。