### SQL 数据库代码知识点解析 #### 创建数据库代码 在 SQL 中,使用 `CREATE DATABASE` 命令来创建一个新的数据库。语法如下: ```sql CREATE DATABASE database_name ON PRIMARY ( NAME = logical_name, FILENAME = 'physical_name', SIZE = initial_size, MAXSIZE = max_size, FILEGROWTH = growth_increment ) LOG ON ( NAME = logical_name, FILENAME = 'physical_name', SIZE = initial_size, MAXSIZE = max_size, FILEGROWTH = growth_increment ); ``` 其中,`database_name` 是新数据库的名称,`logical_name` 和 `physical_name` 分别是逻辑文件名和物理文件名,`initial_size`、`max_size` 和 `growth_increment` 分别表示初始大小、最大大小和增长量。 #### 修改数据库 修改数据库属性,如增加文件组、数据文件、日志文件等,通常使用 `ALTER DATABASE` 命令。例如,增加一个文件组: ```sql ALTER DATABASE database_name ADD FILEGROUP filegroup_name; ``` #### 文件组操作 - **增加文件组**:使用 `ADD FILEGROUP` 子句。 - **增加数据文件**:使用 `ADD FILE` 子句,并指定文件组。 - **增加日志文件**:通过 `ADD LOG FILE` 子句实现。 - **删除数据文件**:使用 `REMOVE FILE` 子句,但需注意删除后无法恢复。 - **删除文件组**:同样使用 `REMOVE FILE` 子句,结合文件组名,删除后也无法恢复。 - **修改文件和文件组名**:利用 `MODIFY FILE` 和 `MODIFY FILEGROUP` 子句完成。 #### 表操作 - **建表**:使用 `CREATE TABLE` 命令。 - **向表中添加列**:`ALTER TABLE table_name ADD column_definition`。 - **删除表中列**:`ALTER TABLE table_name DROP COLUMN column_name`。 - **查看表结构**:使用 `SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name'` 或 `sp_help table_name`。 - **修改表中特定字段**:使用 `UPDATE` 命令。 - **修改数据表名和列名**:通过 `EXEC sp_rename 'old_name', 'new_name', 'object'` 或 `EXEC sp_rename 'table_name.column_name', 'new_column_name', 'COLUMN'` 实现。 #### 查询操作 - **SELECT单表查询**:基本格式为 `SELECT column_list FROM table_name`。 - **使用别名**:如 `SELECT column AS alias FROM table_name`。 - **ALL**:选择所有行,包括重复行。 - **DISTINCT**:仅选择不同的值。 - **TOP**:限制结果集的数量。 - **BETWEEN** 和 **IN**:用于范围和列表比较。 - **LIKE** 和 **IS NULL**:用于模式匹配和空值判断。 - **ORDER BY**:按列排序结果集。 - **COMPUTE**:用于汇总计算。 - **GROUP BY**:对结果进行分组。 - **WITH CUBE或ROLLUP**:生成分组的子集。 - **嵌套查询**:在查询中使用子查询。 - **JOIN连接**:包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、CROSS JOIN 和 FULL JOIN,用于连接多个表。 #### 视图 - **创建视图**:使用 `CREATE VIEW view_name AS SELECT statement`。 - **视图的本质**:视图是存储在数据库中的虚拟表,其内容由查询定义。 - **视图的性质**:不包含数据,只保存定义,可以被更新、删除和修改。 - **WITH CHECK OPTION**:限制对视图的修改操作。 - **WITH ENCRYPTION**:加密视图定义。 - **视图插入、删除、更新**:视图支持这些操作,但受视图定义的限制。 - **删除和查看视图**:使用 `DROP VIEW` 和 `sp_helptext` 命令。 #### 索引 - **创建索引**:`CREATE INDEX index_name ON table_name(column_list)`. - **聚集索引**:基于数据排序的索引。 - **非聚集索引**:独立于数据存储的索引。 - **惟一索引**:确保列中的值唯一。 - **复合索引**:基于多个列的索引。 - **删除索引**:使用 `DROP INDEX` 命令。 - **查看和修改索引**:使用 `sp_helpindex` 和 `ALTER INDEX` 命令。 #### 存储过程 - **创建存储过程**:使用 `CREATE PROCEDURE` 命令。 - **查看存储过程代码**:通过 `sp_helptext` 存储过程。 - **执行存储过程**:使用 `EXEC procedure_name`。 - **使用参数**:定义和传递参数。 - **RETURN**:返回存储过程的结果。 - **WITH RECOMPILE**:强制存储过程重新编译。 - **WITH ENCRYPTION**:加密存储过程。 - **管理存储过程**:使用 `sp_help`、`sp_helptext` 和 `sp_stored_procedures`。 #### 规则和默认值 - **规则**:定义列的有效性检查条件。 - **默认值**:自动为未指定值的列提供默认值。 - **约束**:用于保证数据完整性的规则。 #### 触发器 - **创建触发器**:使用 `CREATE TRIGGER` 命令。 - **After触发器**:在数据更改后执行。 - **Insteadof触发器**:代替数据更改操作执行。 - **删除触发器**:使用 `DROP TRIGGER` 命令。 #### 事务 - **事物处理**:用于确保数据一致性的一系列操作。 以上总结涵盖了从创建数据库到事务处理的基础和进阶 SQL 操作,为数据库管理提供了全面的指导。
- 斐菲2012-10-27对学习SQL的新手会很有帮助
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助