一、 数据库基本操作

1、用于显示当前MYSQL服务器上所有数据库列表。

SHOW DATABASES;

2、 切换当前操作的数据库

USE 数据库名;

3、 查看数据库中的表

SHOW TABLES;
SHOW TABLES IN 数据库名;

4、查看表结构

DESCRIBE 表名;

二、DDL 操作(数据库和表管理)

2.1创建数据库

create database 数据库名;

2.2 创建数据表

  • 字段约束:
    not null:非空
    default:默认值
    primary key:主键
    unique key:唯一键
    auto_increment:自增长字段
CREATE TABLE 表名 (
字段1 数据类型 [约束条件],
字段2 数据类型 [约束条件],
...
PRIMARY KEY (主键字段)
);

例如1
在这里插入图片描述
查看用desc yjs12;

2.2 删除表

DROP TABLE 表名;
DROP TABLE 数据库名.表名; -- 不切换数据库时使用

2.3 删除数据库

DROP DATABASE 数据库名;

2.4修改表结构(ALTER)

--修改表名
ALTER TABLE 旧表名 RENAME 新表名;
--增加字段
ALTER TABLE 表名 ADD 字段名 数据类型 [约束];
--修改字段
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束];
ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型;
--删除字段
ALTER TABLE 表名 DROP 字段名;

案例1:修改表名称
在这里插入图片描述
在这里插入图片描述
案例2:添加字段
在这里插入图片描述
在这里插入图片描述
案例3:删除表中字段
在这里插入图片描述
案例4:修改字段名称,并修改它的数据类型
(一种modify修改字段数据类型,一种change更改字段名和字段数据类型 )

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [约束];

在这里插入图片描述

ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型;

在这里插入图片描述

二、DML 操作(表数据管理)

2.1插入数据

INSERT INTO 表名(字段1,字段2,...) VALUES (值1, 值2, ...);

在这里插入图片描述

2.2更新数据

UPDATE 表名 SET 字段1=值1[,字段2=值2] WHERE 条件;

在这里插入图片描述

2.3删除数据

DELETE FROM 表名 WHERE 条件;

在这里插入图片描述

2.4 清空表

DELETE 可带 WHERE 条件,可回滚,速度慢
TRUNCATE 不可回滚,速度快,ID 自增重置

-- 方法1: DELETE
DELETE FROM 表名;
-- 方法2: TRUNCATE
TRUNCATE TABLE 表名;

三、DQL 操作(数据查询)

3.1查询数据

1、 查询数据

SELECT 字段1,字段2 FROM 表名 WHERE 条件;
SELECT * FROM 表名; -- 查询所有字段

在这里插入图片描述
2、限制查询结果

SELECT * FROM 表名 LIMIT 起始行, 查询条数;
SELECT * FROM 表名 LIMIT 2; -- 显示前2行
SELECT * FROM 表名 LIMIT 2,3; -- 从第2行开始显示3行

在这里插入图片描述
3、竖向显示结果
在这里插入图片描述

3.2 表的高级操作

3.2.1 临时表

  • 临时表只存在于当前连接,会在连接关闭时自动销毁
  • 可进行增删改查操作
CREATE TEMPORARY TABLE 表名 (...);

在这里插入图片描述

3.2.2 克隆表

  • 仅复制表结构(需要添加数据)
  • CREATE TABLE 新表 LIKE 旧表;
    在这里插入图片描述
  • 复制表结构和数据
    复制过来的表结构缺少主键;
    在这里插入图片描述

四、用户管理

1、创建用户
localhost :本地登录
% :允许任意 IP 登录
密码可使用明文或加密方式

CREATE USER '用户名'@'来源地址' IDENTIFIED BY '密码';

在这里插入图片描述
查看用户
在这里插入图片描述
2、删除用户
DROP USER ‘用户名’@‘来源地址’;
3、修改密码

SET PASSWORD = PASSWORD('新密码'); -- 当前用户
SET PASSWORD FOR '用户'@'来源地址' = PASSWORD('新密码'); -- 其他用户

4、忘记 root 密码处理
跳过密码直接登录mysql
修改 /etc/my.cnf 添加:

[mysqld]
skip-grant-tables
  1. 重启 MySQL 服务并直接登录
  2. 修改密码:
UPDATE mysql.user SET AUTHENTICATION_STRING=PASSWORD('新密码') WHERE user='root';
FLUSH PRIVILEGES;

3、删除 skip-grant-tables 并重启 MySQL

五、用户授权管理

5.1授权用户

GRANT 权限列表 ON 数据库.表 TO '用户名'@'来源地址' IDENTIFIED BY '密码';
  • 权限示例:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, EXECUTE,
    ALL
  • . 表示所有数据库和表
GRANT SELECT ON school.* TO 'zhangsan'@'localhost' IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO 'lisi'@'%' IDENTIFIED BY '123456';

如果没有生效,需要刷新权限。
FLUSH PRIVILEGES #刷新权限

5.2查看授权

show GRANTS FOR '用户名'@'来源地址';

5.3 撤销权限

REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'来源地址';
REVOKE ALL ON *.* FROM 'lisi'@'%';
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐