MySQL数据库操作:从创建表到索引、函数与存储过程

5星 · 超过95%的资源 需积分: 28 6 下载量 114 浏览量 更新于2024-09-11 1 收藏 23KB DOCX 举报
"这篇资料是关于MySQL数据库中常用的SQL语句的整理,涵盖了从创建表、修改表结构、数据操作到关系约束、视图、存储过程、触发器、索引、函数以及控制流程语句等多个方面。" 在MySQL中,SQL(Structured Query Language)是用于管理和操作数据库的主要语言。以下是对标题和描述中涉及的知识点的详细解释: 1. **创建表**:CREATE TABLE语句用于创建新的数据库表。示例中创建了`Student`和`Class`两个表,定义了各个字段的数据类型和约束。 2. **删除表**:DROP TABLE语句用于删除已存在的表,例如`DROPTABLE Student`将删除`Student`表。 3. **修改表名**:ALTER TABLE ... RENAME TO ... 语句用于更改表的名字,如`ALTERTABLE Student RENAME Student1`。 4. **修改字段名和类型**:ALTER TABLE ... CHANGE ... 用于改变字段名,ALTER TABLE ... MODIFY COLUMN ... 用于改变字段类型,例如更改`StuAge`为`StuAge1`并修改其长度。 5. **添加和删除字段**:ALTER TABLE ... ADD ... 添加新字段,ALTER TABLE ... DROP ... 删除字段。 6. **创建和删除主键约束**:ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY ... 添加主键约束,ALTER TABLE ... DROP PRIMARY KEY 删除主键。注意,如果主键是自增的,需要先取消自增属性。 7. **创建和删除外键约束**:ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY ... REFERENCES ... 创建外键约束,ALTER TABLE ... DROP FOREIGN KEY ... 删除外键。外键用来保持数据的一致性和完整性。 8. **设置和删除自增**:ALTER TABLE ... MODIFY ... AUTO_INCREMENT 设置字段为自动增长,ALTER TABLE ... CHANGE ... 取消自增属性。 9. **改变列的位置**:ALTER TABLE ... MODIFY ... AFTER ... 将列移动到指定列之后。 10. **查看表状态**:DESC 或 DESCRIPTOR 用于描述表的结构,显示列名、类型等信息。 11. **插入数据**:INSERT INTO ... ( ...) VALUES ( ...) 用于向表中插入数据,示例中省略了具体值。 12. **更新数据**:UPDATE ... SET ... WHERE ... 用于更新表中的记录,根据WHERE子句条件来定位需要修改的行。 13. **删除数据**:DELETE FROM ... WHERE ... 用于删除表中满足特定条件的记录。 14. **查询数据**:SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... 可以进行各种复杂的数据查询,包括选择、投影、过滤、分组、聚合和排序。 15. **视图**:CREATE VIEW ... AS ... 用于创建视图,提供对数据的另一种抽象视图。 16. **存储过程**:CREATE PROCEDURE ... AS ... 定义存储过程,封装一系列SQL操作,方便重复调用。 17. **触发器**:CREATE TRIGGER ... BEFORE/AFTER/INSTEAD OF ... ON ... FOR EACH ROW ... 定义触发器,当特定事件发生时自动执行。 18. **索引**:CREATE INDEX ... ON ... 用于创建索引,提高查询速度。ALTER TABLE ... DROP INDEX ... 删除索引。 19. **函数**:MySQL提供了大量内置函数,如字符串函数、数学函数、日期时间函数等,也可以创建用户自定义函数。 20. **循环与判断**:在MySQL的存储过程中可以使用循环(LOOP, REPEAT)和条件判断(IF, CASE WHEN THEN)语句实现复杂的业务逻辑。 以上就是MySQL SQL语句的基本知识,它们构成了数据库管理的基础,帮助我们高效地组织、操作和分析数据。通过熟练掌握这些语句,可以有效地进行数据库设计和维护。