一、数据库级操作(Database Level)

1. 查看与选择

  • show databases; —— 列出服务器上所有数据库

  • select database(); —— 查看当前已选中的数据库(必须先use才能操作表)

  • use 数据库名; —— 切换当前工作数据库

2. 创建数据库

  • 基础创建:create database 库名;(使用MySQL默认字符集latin1,不推荐)

  • 指定字符集:create database 库名 character set utf8;(推荐,支持中文)

  • 安全创建(防报错):create database if not exists 库名 character set utf8; —— 若库已存在则跳过,不报错

3. 修改与删除

  • 修改编码:alter database 库名 character set utf8;(用于后期调整字符集)

  • 删除数据库:drop database 库名;(高危操作,数据不可恢复)


二、数据表级操作(Table Level)

1. 查看与结构

  • show tables; —— 查看当前数据库中所有表

  • desc 表名; —— 查看表结构(字段名、类型、约束等详细信息)

2. 创建表(重点)
基本语法:create table 表名 (列名 类型 约束1 约束2 ... , 列名 类型 ...);

常用约束详解:

约束关键字作用说明
主键primary key唯一标识每一行,不可重复且非空
非空not null该列不允许为空值
自增长auto_increment通常配合主键使用,插入时自动+1
枚举enum('值1','值2',...)限定字段只能取括号中的某个值(如性别)
默认值default 值插入时若未指定该列,则使用默认值

示例: alter table student add sex enum('男','女','保密');(为已有表添加枚举列)

3. 修改表结构

  • 添加列:alter table 表名 add 列名 类型 约束...;

  • 修改列(重命名+改属性):alter table 表名 change 原列名 新列名 类型 约束...;

  • 删除列:alter table 表名 drop 列名;

  • 重命名表:alter table 表名 rename 新表名;

4. 删除表

  • drop table 表名;(高危操作,表结构和数据全部删除)


三、数据操作(DML:Data Manipulation Language)

1. 查询(SELECT)

  • 全表查询:select * from 表名; —— 返回所有列所有行

  • ⚠️ 警告:大表(百万级数据)使用*会严重影响性能,应指定具体列名

2. 插入(INSERT)—— 三种方式

方式语法特点
全列插入insert into 表名 values (值1, 值2, ...);必须按表结构顺序提供所有列的值;values后可跟多行(值...),(值...)
缺省插入(指定列)insert into 表名 (列1, 列2, ...) values (值1, 值2, ...);只给部分列赋值,未指定的列需有默认值或允许NULL;支持多行批量插入
set赋值插入insert into 表名 set 列1=值1, 列2=值2, ...;更直观的键值对写法,一次只能插入一行

3. 修改(UPDATE)

  • update 表名 set 列1=值1, 列2=值2, ... where 条件;

  • ⚠️ 务必加where条件,否则会修改全表数据

4. 删除(DELETE)

  • delete from 表名 where 条件;

  • ⚠️ 务必加where条件,否则清空全表


四、用户管理(User Management)

1. 创建用户

  • create user '用户名'@'主机' identified by '密码';

  • 主机指定方式:

    • '%' —— 允许从任何主机连接

    • '192.168.13.13' —— 仅允许该IP连接

    • 'localhost' —— 仅允许本机连接

2. 修改密码

  • alter user '用户名'@'主机' identified by '新密码';

3. 删除用户

  • drop user '用户名'@'主机';


五、权限管理(Privilege Management)

1. 授予权限(GRANT)
基本语法:grant 权限1, 权限2, ... on 数据库名.* to '用户名'@'主机';

权限列表对照表:

权限关键字操作范围
ALL所有权限(相当于超级管理员)
SELECT查询数据
INSERT插入数据
UPDATE更新数据
DELETE删除数据
CREATE创建表或数据库
DROP删除表或数据库
ALTER修改表结构
INDEX创建/删除索引
EXECUTE执行存储过程

示例: grant select, insert on mydb.* to 'user1'@'%'; —— 授予user1在mydb数据库中所有表的查询和插入权限

2. 撤销权限(REVOKE)

  • revoke 权限1, 权限2, ... on 数据库名.* from '用户名'@'主机';

  • 撤销后用户立即失去对应操作权限

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐