MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。在MySQL中,数据库操作主要分为数据定义语言(DDL)和数据操作语言(DML)。本篇笔记将深入讲解DDL中的`ALTER TABLE`指令以及DML中的数据增、删、改、查操作。 **一、ALTER TABLE指令的应用** 1. **修改表名**:使用`ALTER TABLE 旧表名 RENAME [TO] 新表名;`命令可以重命名现有的表,为数据库结构的调整提供便利。 2. **添加字段**:要向表中添加新的列,可以使用`ALTER TABLE 表名 ADD 字段名 数据类型(长度)[属性];`。例如,`ALTER TABLE students ADD age INT;`将添加一个名为`age`的整数字段。 3. **修改字段**:`ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型(长度) [属性];`允许你更改字段的名称、数据类型或属性。例如,`ALTER TABLE students CHANGE age birth_year INT;`将`age`字段更改为`birth_year`,数据类型仍为整数。 4. **删除字段**:`ALTER TABLE 表名 DROP 字段名;`用于移除不再需要的字段,如`ALTER TABLE students DROP age;`。 5. **添加主键约束**:主键是表中的唯一标识符,通过`ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(字段名);`可以设置。例如,`ALTER TABLE students ADD CONSTRAINT pk_students_id PRIMARY KEY (id);`将`id`字段设为主键。 6. **添加外键约束**:外键关联两个表,`ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (字段名) REFERENCES 主键表名(字段名);`如`ALTER TABLE grades ADD CONSTRAINT fk_student_id FOREIGN KEY (student_id) REFERENCES students(id);`将`grades`表的`student_id`字段设为引用`students`表的外键。 **二、数据操作语言(增、删、改)** 1. **插入数据**:`INSERT INTO 表名 [(字段列表)] VALUES (值列表);`用于插入单行数据,可指定插入特定字段或全字段。 2. **插入多行数据**:`INSERT INTO 表名 [(字段列表)] VALUES (值列表 1),(值列表 2),…;`可以一次性插入多行数据。 3. **修改数据**:`UPDATE 表名 SET 字段名 1=值 1,字段名 2=值 2,…[where条件];`用于更新现有数据,`WHERE`条件用于指定更新的行。 4. **删除数据** - `DELETE FROM 表名 [where 条件];`删除符合特定条件的数据。 - `TRUNCATE TABLE 表名;`删除所有数据,且清空自动增长的列计数。 **三、查询数据** 1. **基本语法**:`SELECT 字段名列表 FROM 表名[WHERE 查询的条件][GROUP BY 分组依据的字段名][HAVING 筛选条件][ORDER BY 排序依据的字段名][LIMIT [位置偏移量,]行数];` 查询结果可根据需要进行筛选、分组、排序和分页。 2. **LIMIT 分页查询**:`LIMIT [位置偏移量,]行数`用于获取指定范围内的数据,便于实现数据的分页显示。 **四、常用的聚合函数** 1. **SUM(字段名)**:计算指定字段的所有值的总和。 2. **AVG(字段名)**:返回指定字段的平均值。 3. **MAX(字段名)**:找出指定字段的最大值。 4. **MIN(字段名)**:找出指定字段的最小值。 5. **COUNT(*)**:计算表中的行数。 **五、EXISTS和NOT EXISTS子查询** 1. **EXISTS子查询**:常用于判断子查询是否返回至少一行数据。在`WHERE`子句中使用,如`SELECT * FROM 表名 WHERE EXISTS (子查询);`。如果子查询有结果,主查询将继续执行;无结果则不执行。 2. **NOT EXISTS子查询**:与EXISTS相反,用于判断子查询是否没有返回任何行。例如,`SELECT * FROM 表名 WHERE NOT EXISTS (子查询);`。 在数据库操作中,理解并熟练运用这些概念和语法是至关重要的,它们构成了MySQL数据库管理和数据操作的基础。通过灵活运用这些工具,可以高效地维护和处理数据库中的信息。
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0