# MySQL 入门：基础语法与存储过程

> 发布时间: 2026-08-02 18:25

# SQL

## 基础语法

### 现有表格修改

1. 添加新字段：
```SQL
--使用INT(11)会报警告，原因如下
--从MySQL 8.0.17开始，对于整数数据类型，不建议使用display width属性，即不用M显示宽度，并且在将来的MySQL版本中将删除对它的支持。 
ALTER TABLE test.my_collection ADD ID INT DEFAULT 0 FIRST;
```
2. 删除字段
```SQL
ALTER TABLE test.my_collection DROP ID;
```
3. 添加索引
```SQL
ALTER TABLE test.my_collection DROP INDEX ID;
```
4. 删除索引
```SQL
ALTER TABLE test.my_collection ADD INDEX SelectID (ID);
```

## 存储过程

```SQL
delimiter $$ -- 将语句的结束符号从分号;临时改为两个$$(可以是自定义)
CREATE PROCEDURE CREATEDATA() -- 创建存储过程名
BEGIN -- 开始
declare _ID INT; -- 声明变量
SET _ID = 0; -- 修改变量
while _ID < 1000 do -- 循环语句
insert into test.my_collection (ID,param) values (_ID,_ID); -- sql命令
set _ID=_ID+1; -- 赋值语句
end while; -- 结束循环
END&& -- 结束
delimiter ; -- 将语句的结束符号恢复为分号

call CREATEDATA();-- 调用
```

## 导入导出数据库

1. 导出数据库：
```
mysqldump -uroot -p123456 --databases test > test.sql
```
2. 导入数据库：
```
mysql -uroot -p123456 < test.sql
```