目录

1.数据库基本操作

1.1 查看数据库信息

1.2 切换数据库

1.3 查看数据库中的表

1.4 查看表结构

2.常用数据类型

3. 数据库文件存储结构

4. SQL 语句分类

5. DDL 操作(数据库和表管理)

5.1 创建数据库

5.2 创建数据表

5.3 删除表

5.4 删除数据库

5.5 修改表结构(ALTER)

6. DML 操作(表数据管理)

6.1 插入数据

6.2 更新数据

6.3 删除数据

6.4 清空表

7. DQL 操作(数据查询)

7.1 查询数据

7.2 限制查询结果

7.3 竖向显示结果

8. 表高级操作

8.1 临时表

8.2 克隆表

9. 用户管理

9.1 创建用户

9.2 查看用户

9.3 删除用户

9.4 修改密码

9.5 忘记 root 密码处理

10. 用户授权管理

10.1 授权用户

10.2 查看授权

10.3 撤销权限

11. 权限说明


1.数据库基本操作

1.1 查看数据库信息

show databases;

1.2 切换数据库

USE 数据库名;

1.3 查看数据库中的表

SHOW TABLES;

SHOW TABLES IN 数据库名;

1.4 查看表结构

DESCRIBE 表名;

  • 输出说明:
    • Field:字段名称
    • Type:字段类型
    • Null:是否允许为空
    • Key:是否是主键(PRI)、唯一键(UNI)或索引(MUL)
    • Default:默认值
    • Extra:额外属性(如 auto_increment)

2.常用数据类型

类型

说明

示例

INT

整型,存储整数

id INT

FLOAT

单精度浮点,4 字节,可表示小数

score FLOAT

DOUBLE

双精度浮点,8 字节

price DOUBLE

CHAR(n)

固定长度字符类型,长度 n,不够补空格

name CHAR(10)

VARCHAR(n)

可变长度字符类型,最大 n 个字符

address VARCHAR(50)

TEXT

文本类型

description TEXT

IMAGE

图片类型

photo IMAGE

DECIMAL(p,s)

精确数值类型,p=总长度,s=小数位 55555.000

salary DECIMAL(5,2)

注意事项:

  • CHAR 存入长度不足时补空格,超出指定长度低版本截取,高版本报错。
  • 主键唯一,可由多个字段组成(联合主键)。

3. 数据库文件存储结构

  • MySQL 数据目录:/usr/local/mysql/data
  • 每个数据库对应一个子目录,每个表对应若干文件:
    • MyISAM:.frm(表结构)、.MYD(数据)、.MYI(索引)
    • InnoDB:
      • 独享表空间:.ibd 文件(每表一个文件)
      • 共享表空间:ibdata 文件(多个表共用)

4. SQL 语句分类

分类

功能

常用语句

DDL(数据定义语言)

创建/修改/删除数据库对

CREATE, DROP, ALTER

DML(数据操纵语

言)

增删改表数据

INSERT, UPDATE, DELETE

DQL(数据查询语言)

查询数据

SELECT

DCL(数据控制语言)

用户权限管理

GRANT, REVOKE, COMMIT, ROLLBACK

5. DDL 操作(数据库和表管理)

5.1 创建数据库

CREATE DATABASE 数据库名;

5.2 创建数据表

CREATE TABLE 表名 (

字段1 数据类型 [约束条件],

字段2 数据类型 [约束条件],

...

PRIMARY KEY (主键字段)

);

字段约束:

  • NOT NULL:不能为空
  • DEFAULT:默认值
  • PRIMARY KEY:主键
  • UNIQUE KEY:唯一键
  • AUTO_INCREMENT:自增长字段

5.3 删除表

DROP TABLE 表名;

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

5.4 删除数据库

DROP DATABASE 数据库名;

5.5 修改表结构(ALTER)

-- 修改表名

ALTER TABLE 旧表名 RENAME 新表名;

-- 增加字段

ALTER TABLE 表名 ADD 字段名 数据类型 [约束];

-- 修改字段

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

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

-- 删除字段

ALTER TABLE 表名 DROP 字段名;

6. DML 操作(表数据管理)

6.1 插入数据

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

6.2 更新数据

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

6.3 删除数据

DELETE FROM 表名 WHERE 条件;

6.4 清空表

1.DELETE FROM 表名;

2.TRUNCATE TABLE 表名;

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

7. DQL 操作(数据查询)

7.1 查询数据

SELECT 字段1,字段2 FROM 表名 WHERE 条件;

SELECT * FROM 表名; -- 查询所有字段

7.2 限制查询结果

SELECT * FROM 表名 LIMIT 起始行, 查询条数;

7.3 竖向显示结果

SELECT * FROM 表名\G

8. 表高级操作

8.1 临时表

CREATE TEMPORARY TABLE 表名 (...);

  • 临时表只存在于当前连接,会在连接关闭时自动销毁
  • 可进行增删改查操作

8.2 克隆表

CREATE TABLE 新表 LIKE 旧表; --仅复制表结构

在加上数据表中的数据,需要做插入

例如:

insert into 新表 select * from 旧表;

--复制表结构和数据

CREATE TABLE 新表 AS SELECT * FROM 旧表;

9. 用户管理

9.1 创建用户

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

  • localhost:本地登录
  • %:允许任意 IP 登录
  • 密码可使用明文或加密方式

9.2 查看用户

USE mysql;

SELECT User, Host, authentication_string FROM user;

9.3 删除用户

DROP USER '用户名'@'来源地址';

9.4 修改密码

SET PASSWORD = PASSWORD('新密码'); -- 当前用户

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

9.5 忘记 root 密码处理

1. 修改 vim /etc/my.cnf 添加:

[mysqld]

skip-grant-tables

2.重启 MySQL 服务并直接登录

3. 修改密码:

UPDATE mysql.user SET AUTHENTICATION_STRING=PASSWORD('新密码') WHERE user='root';

FLUSH PRIVILEGES;

4.删除 skip-grant-tables 并重启 MySQL

10. 用户授权管理

10.1 授权用户

GRANT 权限列表 ON 数据库.表 TO '用户名'@'来源地址' IDENTIFIED BY '密码';

  • 权限示例:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, EXECUTE, ALL
  • *.* 表示所有数据库和表

10.2 查看授权

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

10.3 撤销权限

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

REVOKE ALL ON *.* FROM 'lisi'@'%';

11. 权限说明

权限

功能

SELECT

查询数据

INSERT

插入数据

UPDATE

修改数据

DELETE

删除数据

CREATE

创建数据库/表

DROP

删除数据库/表

INDEX

建立索引

ALTER

修改表结构

EXECUTE

执行存储过程

CREATE VIEW

创建视图

SHOW VIEW

查看视图

CREATE ROUTINE

创建存储过程

ALTER ROUTINE

修改存储过程

EVENT

创建事件

TRIGGER

创建触发器

ALL PRIVILEGES

所有权限

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐