一、SQL增删查改
1.2 删除
Drop TableName:删除全表数据及定义Truncate TableName:仅删除表内所有数据信息,保留数据类型定义Delete TableName:逐行删除表内所有数据信息,效率较Truncate TableName低Alter TableName:添加、修改、删除表信息
某些数据库并不允许出现删除方法,具体参考:点我跳转
1.3 查找
Like:查询包含该内容的数据信息
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
1.4 更改
UPDATE TableName:更新、修改 数据信息INSERT INTO TableName Values(...):插入数据
具体参考:点我跳转
二、关键字
2.1 Create Table语句中使用的关键字
CONSTRAINT 约束条件 - 通常情况下包含以下关键字内容:
NOT NULL | UNIQUE | PRIMARY KEY | FOREIGN KEY | CHECK | DEFAULT |
|---|---|---|---|---|---|
| 约束强制列不接受 NULL 值 | 唯一标识数据库表中的每条记录 | 唯一标识数据库表中的每条记录 | 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY | 限制列中的值的范围 | 用于向列中插入默认值 |
- 每个表可以有多个
UNIQUE约束,但是每个表只能有一个PRIMARY KEY约束 PRIMARY KEY约束:
(1)主键必须包含唯一的值。
(2)主键列不能包含NULL值。
(3)每个表都应该有一个主键,并且每个表只能有一个主键。FOREIGN KEY约束:
(1)用于预防破坏表之间连接的动作
(2)防止非法数据插入外键列CHECK:
(1)对单个列定义 CHECK 约束,那么该列只允许特定的值
(2)对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)
2.2 UNION 与 INTERSECT
UNION:合并SQL语句,类似OR
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
INTERSECT:同上,但类似与AND
SELECT Txn_Date FROM Store_Information
INTERSECT
SELECT Txn_Date FROM Internet_Sales;
2.3 ORDER BY 与 GROUP BY
Order By:根据指定的列对结果集进行排序(默认升序),其中DESC关键字:实现降序
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
Group By:结合合计函数,根据一个或多个列对结果集进行分组
三、聚集索引 与 非聚集索引
聚集索引:存放的物理顺序与列中顺序一致。一般情况下设置主键(PRIMARY KEY)为聚集索引。一个表仅一个聚集索引。
非聚集索引:按引键值的顺序存储,表中数据按聚集索引顺序存储或其他存储顺序。
其他:
- 对频繁更新列或修改索引列下,使用非聚集索引
- 返回范围内数据下,应使用聚集索引
- 对数据数目小的使用聚集索引,数据数目大的使用非聚集索引
参考链接:点我跳转
四、规范化 与 反规范化
规范化:常见规范化有 三范式
反规范化:提高查询或应用性能而破坏的规则
- 减少数据冗余,节约存储空间
- 减少逻辑与物理的I/O次数,提高增删查改效率
五、备份
完全数据备份:备份所有数据文件
事务日志备份:对上一次已完全数据备份后发生变化的所有文件进行备份
差异备份:仅备份上一次已完全数据备份后发生改变的数据库
文件备份:由硬盘上许多文件构成,耗时长,不常用
六、数据库语言
6.1 数据定义语言(DDL)
描述数据库中要存储的现实世界实体的语言,常用语言有以下:
- 创建数据库:
CREATE DATABASE - 创建数据库表格:
CREATE TABLE - 修改数据库表格:
ALTER TABLE(增删查改) - 删除数据库表格:
DROP TABLE - 创建查询命令:
CREATE VIEW - 修改查询命令:
ALTER VIEW - 删除查询命令:
DROP VIEW - 删除数据表内容:
TRUNCATE TABLE
数据访问语言(DAL):
数据控制语言(DCL):
数据操作语言(DML):
6.2 命令语言
GRANT:授权
七、端口
端口号20/21:FTP上传/下载
端口号67/68:UDP上传/下载
端口号1433、1434:保护SQL Server安全的默认端口
