MySQL 基础操作
Tip
可以通过 MySQL Command Line Client 在命令行界面操作数据库,也可以使用 MySQL Workbench 使用 GUI 可视化界面操作数据库。
注释
-- comments
添加注释
操作数据库
- 查询所有数据库
SHOW DATABASES;
- 创建数据库
CREATE SCHEMA databaseName;
或CREATE DATABASE databasename;
以下图示使用 MySQL Workbench 创建数据库Tip
可以设置数据编码方式
CREATE DATABASE databaseName CHARACTER SET utf-8;
或使用ALTER DATABASE databaseName CHARACTER SET utf-8
切换数据编码方式 - 切换数据库
USE databaseName
Warning
在操作数据之前都需要先指定连接到哪个数据库
- 删除数据库
DROP DATABASE databaseName
操作表格
- 查看数据库所有表格
SHOW TABLES;
- 创建表格,需要指定每个字段的数据类型
CREATE TABLE table (field1 type1, field2 type2, PRIMARY KEY (field1));
以下图示使用 MySQL Workbench 创建表格 - 修改表
ALTER TABLE tableName MODIFY field1 type1
修改原有的字段数据类型ALTER TABLE tableName CHANGE old_name_field1 new_name_field1 type1
修改原有的字段名称ALTER TABLE tableName ADD new_name_field1 type1
添加新字段ALTER TABLE tableName DROP field1
删除已有字段
以下图示使用 MySQL Workbench 修改表格 - 删除表
DROP TABLE tableName
以下图示使用 MySQL Workbench 删除表格
操作数据
先使用语句 USE databaseName;
切换到需要操作的数据库
新增
向表格添加数据 INSERT INTO table1 (field1, field2) VALUES (value1, value2);
Tip
对于关键字,如 password
应使用反单引号包括 fieldName
查询
- 查询表格数据
SELECT * FROM table;
返回所有表格的数据,包含每一行和每一个字段的数据 - 查询表格数据
SELECT field1, field2, ... FROM table;
且只返回指定的字段 - 基于条件查询表格数据
SELECT * FROM table WHERE condition
- 在参数
condition
中最常使用等于=
或不等于<>
构建条件SELECT * FROM table WHERE field='value';
Tip
如果需要模糊匹配,可以使用
LIKE
并结合正则表达式SELECT * FROM table WHERE field LIKE '%keyword%';
%
适配任意数量的字符,可以产生一组特定的匹配模式 - 在参数
condition
中可以使用AND
构建多个条件并列成立的复杂条件 - 在参数
condition
中可以使用OR
构建多个条件之一成立的复杂条件 - 在参数
condition
中使用IS Null
或IS NOT NULL
来分别查询字段值是否为空SELECT * FROM table WHERE field IS NOT NULL;
- 在参数
- 查询结果按照字段排序
SELECT field FROM table ORDER BY field1, field2;
默认升序,如果需要降序可以添加关键字DESC
更新
更新指定记录(行数据)的指定字段的值 UPDATE table SET field=new_value WHERE condition;
删除
删除指定记录(行数据) DELETE FROM table WHERE condition;
Tip
一般不使用 DELETE FROM
语句,因为相应的数据会完全地从数据库去除。
而是为每个记录(行数据)添加一个表示状态 state
的字段,通过 UPDATE
语句来切换记录的状态,一般以 0
或 1
表示记录是否为可访问的状态,通过这种形式实现「软删除」,然后在查询时设置基于 state
条件 SELECT * FROM table WHERE state<>'0';
,这种删除方式可以方便地实现数据恢复。
其他
在更新或删除数据时可能会遇到以下错误
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
可以在 sql 脚本中执行 SET SQL_SAFE_UPDATES = 0
或根据错误信息提示修改 MySQL 配置,将安全模式关闭。