MySQL全语句详解:数据库与表结构修改

需积分: 9 6 下载量 77 浏览量 更新于2024-07-26 1 收藏 409KB DOCX 举报
本资源涵盖了MySQL语句的全面指南,特别关注ALTER DATABASE和ALTER TABLE这两个关键命令。首先,让我们深入了解ALTER DATABASE语句(13.1.1)。 ALTER DATABASE语法用于修改数据库的全局属性,如字符集(CHARACTERSET)和排序规则(COLLATE)。字符集决定了数据的编码方式,而整序则影响字符串的比较。例如,如果你想将默认数据库的字符集改为UTF8,或者整序规则改为utf8_general_ci,你需要使用以下命令: ```sql ALTER DATABASE your_database_name DEFAULT CHARACTERSET utf8 COLLATE utf8_general_ci; ``` 执行此操作前,必须确保拥有对数据库的ALTER权限。如果省略数据库名称,操作将针对当前默认数据库。同时,ALTER SCHEMA也是一个等效的选项。 接下来是ALTER TABLE语句(13.1.2),这是用来修改表结构的核心部分。它支持多种操作: 1. **ADD COLUMN**: 向表中添加新的列,可以选择在现有列之前或之后插入。 2. **INDEX**: 创建索引,支持主键(PRIMARY KEY)、唯一(UNIQUE)和全文索引(FULLTEXT)或空间索引(SPATIAL)。 3. **CONSTRAINT**: 添加约束,如外键(FOREIGN KEY)关系,定义引用其他表的规则。 4. **ALTER COLUMN**: 修改或删除列的默认值(SET DEFAULT 或 DROP DEFAULT)。 5. **CHANGE COLUMN**: 改变列名或列定义。 例如,要向名为"employees"的表添加一个名为"salary"的新列,并设置其默认值为0,你可以这样做: ```sql ALTER TABLE employees ADD COLUMN salary DECIMAL(10, 2) SET DEFAULT 0; ``` 通过这个资源,用户可以系统地学习如何在MySQL中调整数据库和表的结构,确保数据的一致性和性能优化。无论是初次接触MySQL的新手还是经验丰富的开发人员,都能从中找到所需的信息和实例来提升自己的技能。