MySQL 基础操作
Tip
可以通过 MySQL Command Line Client 在命令行界面操作数据库,也可以使用 MySQL Workbench 使用 GUI 可视化界面操作数据库。
注释
-- comments 添加注释
操作数据库
- 查询所有数据库
SHOW DATABASES; - 创建数据库
CREATE SCHEMA databaseName;或CREATE DATABASE databasename;
以下图示使用 MySQL Workbench 创建数据库
使用 MySQL Workbench 建库 Tip
可以设置数据编码方式
CREATE DATABASE databaseName CHARACTER SET utf-8;或使用ALTER DATABASE databaseName CHARACTER SET utf-8切换数据编码方式 - 切换数据库
USE databaseNameWarning
在操作数据之前都需要先指定连接到哪个数据库
- 删除数据库
DROP DATABASE databaseName
操作表格
- 查看数据库所有表格
SHOW TABLES; - 创建表格,需要指定每个字段的数据类型
CREATE TABLE table (field1 type1, field2 type2, PRIMARY KEY (field1));
以下图示使用 MySQL Workbench 创建表格
使用 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 修改表格
使用 MySQL Workbench 修改表 - 删除表
DROP TABLE tableName
以下图示使用 MySQL Workbench 删除表格
使用 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 配置,将安全模式关闭。
