MySQL数据库完整操作指南
一、数据库级操作(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 '用户名'@'主机'; -
撤销后用户立即失去对应操作权限
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)