数据库是存储和管理数据的重要工具,SQL(Structured Query Language)是用于操作数据库的语言。本笔记主要涵盖SQL的基础知识,包括数据库、表、视图、索引、存储过程和触发器等核心概念。 **数据库** 1. **创建数据库**: 使用`CREATE DATABASE`语句创建数据库,如`CREATE DATABASE employee`,指定主数据文件和日志文件的相关参数,例如大小、最大大小和增长比例。 2. **删除数据库**: 使用`DROP DATABASE`语句删除数据库,如`DROP DATABASE database_named`。 3. **重命名数据库**: 执行`EXEC sp_renamedb oldname, newname`来更改数据库的名称。 4. **增大数据库空间**: 使用`ALTER DATABASE`命令修改数据库文件的大小,如`ALTER DATABASE employee1 Modify file ( name = employee, Size=25)`。 5. **压缩数据库**: 设置数据库的自动收缩选项,如`EXEC sp_dboption employee1, 'autoshrink', true`。 6. **查看数据库信息**: 可以通过`EXEC sp_helpdb`, `sp_helpfile`和`sp_helpfilegroup`存储过程获取数据库、文件和文件组的详细信息。 **表** 1. **创建表**: 使用`CREATE TABLE`语句创建表,如`CREATE TABLE admin`,定义各字段的数据类型、是否允许为空、默认值和约束等。 2. **删除表**: `DROP TABLE`语句可以删除表,如`DROP TABLE admin`。 3. **字段操作**: - **修改字段**: `ALTER TABLE`命令可以改变字段的属性,如`ALTER TABLE employee1 ALTER COLUMN name VARCHAR(20)`。 - **添加字段**: 使用`ALTER TABLE ADD`添加新的字段,如`ALTER TABLE employee1 ADD address VARCHAR(50)`。 - **删除字段**: `ALTER TABLE DROP COLUMN`可以移除表中的字段,如`ALTER TABLE employee1 DROP COLUMN address`。 4. **表记录操作**: - **添加记录**: `INSERT INTO`用于插入单条或批量记录,支持从另一表选择数据或指定初始值。 - **删除记录**: `DELETE`语句可以删除满足特定条件的记录,`TRUNCATE TABLE`则清空所有记录并重置自动增长列。 - **修改记录**: `UPDATE`命令用于更新表中指定字段的值,支持多字段同时更新。 5. **约束**: - **主键约束**: `ALTER TABLE ADD CONSTRAINT`创建主键,如`ALTER TABLE employee1 ADD CONSTRAINT pk_jcdm PRIMARY KEY CLUSTERED(id,name)`。 - **唯一约束**: 用于确保字段的唯一性,如`ALTER TABLE employee1 ADD CONSTRAINT pk_jcdm UNIQUE NONCLUSTERED(password)`。 - **检查约束**: 确保字段值符合特定条件,如`ALTER TABLE 学生 ADD CONSTRAINT ck_rxsj CHECK (入学时间>'01/01/1987' and 入学时间<getdate())`。 - **默认约束**: 设置字段默认值,如`ALTER TABLE 学生 ADD CONSTRAINT ck_rxsj DEFAULT '本科' FOR 学历`。 - **外键约束**: 强制参照完整性,如`ALTER TABLE 班级 ADD CONSTRAINT ck_rxsj FOREIGN KEY(专业代码) REFERENCES 专业(专业代码)`。 - **查看约束定义**: `sp_help`和`sp_helptext`存储过程可显示约束的详细信息。 - **删除约束**: `ALTER TABLE DROP CONSTRAINT`用于删除已存在的约束。 **视图**: 视图是基于一个或多个表的虚拟表,可以用来简化查询、提供安全访问权限等。创建视图的语句通常为`CREATE VIEW view_name AS SELECT column_list FROM table WHERE condition`。 **索引**: 索引用于加速数据检索。可以创建在单个字段或多个字段上的索引,包括唯一索引和非唯一索引。创建索引的命令通常是`CREATE INDEX index_name ON table (column_name)`, 其中可以指定索引类型,如聚集或非聚集。 **存储过程**: 存储过程是预编译的SQL语句集合,可重复使用,提高效率。创建存储过程的语法为`CREATE PROCEDURE procedure_name AS SQL_statements`,调用时使用`EXEC procedure_name`。 **触发器**: 触发器是一种特殊类型的存储过程,会在特定数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。创建触发器的语句包括`CREATE TRIGGER trigger_name ON table FOR|AFTER action_type AS SQL_statements`。 以上就是SQL基础的概述,包括对数据库、表、视图、索引、存储过程和触发器的操作。掌握这些基础知识对于理解和操作数据库至关重要。
剩余49页未读,继续阅读
- 粉丝: 19
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java Web实现电子购物系统
- (30485858)SSM(Spring+springmvc+mybatis)项目实例.zip
- (172760630)数据结构课程设计文档1
- 基于simulink的悬架仿真模型,有主动悬架被动悬架天棚控制半主动悬架 1基于pid控制的四自由度主被动悬架仿真模型 2基于模糊控制的二自由度仿真模型,对比pid控制对比被动控制,的比较说明
- (175184224)点餐小程序源码.rar
- NVR-K51-BL-CN-V4.50.010-210322
- (174517644)Drawing1(1).dwg
- Java Web开发短消息系统
- 空气流注放电模型,采用等离子体模块,包含多种化学反应 空气流注放电模型,采用等离子体模块,包含多种化学反应 Comsol等离子体模块 空气棒板放电 11种化学反应 放的是求的速率 碰撞界面数据在bol
- (175619628)两相交错并联LLC谐振变换器,均流和不均流方式都有,联系前请注明是否均流 模型均可实现输出电压闭环控制 第二幅波形图模拟的效果为