当前位置: 首页 > news >正文

MySQL 基本操作入门指南

MySQL 是目前最流行的关系型数据库管理系统之一,广泛应用于各类 Web 应用和数据存储场景。本文将介绍 MySQL 的常用基本操作,适合初学者快速入门。

一、连接 MySQL 服务器

首先需要连接到 MySQL 服务器,使用以下命令:

# 基本连接方式
mysql-u 用户名 -p# 示例:以 root 用户连接
mysql-u root -p

输入命令后会提示输入密码,正确输入后即可进入 MySQL 命令行界面。

二、数据库操作

1. 查看所有数据库

SHOW DATABASES;

 2. 创建数据库

CREATE DATABASE 数据库名;-- 示例:创建名为 mydb 的数据库
CREATE DATABASE mydb;-- 创建数据库时指定字符集
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. 选择数据库 

USE 数据库名;-- 示例:选择 mydb 数据库
USE mydb;

4. 删除数据库 

DROP DATABASE 数据库名;-- 示例:删除 mydb 数据库
DROP DATABASE mydb;

注意:删除数据库操作非常危险,会删除该数据库中的所有数据,请谨慎操作! 

三、表操作

1. 查看当前数据库中的所有表

在进行表操作前,需要先使用 USE 命令选择一个数据库。

SHOW TABLES;

2. 创建表 

CREATE TABLE 表名 (字段1 数据类型 [约束条件],字段2 数据类型 [约束条件],...[表级约束]
);-- 示例:创建用户表
CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL UNIQUE,email VARCHAR(100) NOT NULL UNIQUE,age INT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

 常用数据类型:
• INT:整数
• VARCHAR (n):可变长度字符串
• CHAR (n):固定长度字符串
• DATE:日期
• TIME:时间
• DATETIME:日期时间
• TEXT:长文本
常用约束:
• PRIMARY KEY:主键
• AUTO_INCREMENT:自增
• NOT NULL:非空
• UNIQUE:唯一
• DEFAULT:默认值
• FOREIGN KEY:外键

3. 查看表结构

DESCRIBE 表名;
-- 或
DESC 表名;-- 示例
DESC users;

4. 修改表

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

5. 删除表 

DROP TABLE 表名;-- 示例
DROP TABLE users;

 四、数据操作(CRUD)

1. 插入数据(Create)

-- 插入完整记录
INSERT INTO 表名 VALUES (值1, 值2, ...);-- 插入指定字段
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);-- 插入多条记录
INSERT INTO 表名 (字段1, 字段2, ...) 
VALUES 
(值1, 值2, ...),
(值1, 值2, ...),
...;-- 示例
INSERT INTO users (username, email, age) 
VALUES 
('zhangsan', 'zhangsan@example.com', 25),
('lisi', 'lisi@example.com', 30);

2. 查询数据(Read)

-- 查询所有字段所有记录
SELECT * FROM 表名;-- 查询指定字段
SELECT 字段1, 字段2 FROM 表名;-- 带条件查询
SELECT * FROM 表名 WHERE 条件;-- 排序
SELECT * FROM 表名 ORDER BY 字段 [ASC|DESC];-- 限制查询数量
SELECT * FROM 表名 LIMIT 数量;-- 示例
SELECT username, email FROM users WHERE age > 25 ORDER BY age DESC LIMIT 10;

 常用查询条件运算符:
=:等于
<> 或!=:不等于
:大于
<:小于
=:大于等于
<=:小于等于
BETWEEN:在某个范围内
LIKE:模糊匹配
IN:在列举值内
AND:并且
OR:或者

3. 更新数据(Update)

UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件;-- 示例
UPDATE users SET age=26 WHERE username='zhangsan';

 注意:如果不带 WHERE 条件,会更新表中所有记录,请谨慎操作!

4. 删除数据(Delete)

DELETE FROM 表名 WHERE 条件;-- 示例
DELETE FROM users WHERE id=1;

五、索引操作 

索引可以提高查询效率。

-- 创建索引
CREATE INDEX 索引名 ON 表名(字段名);-- 示例
CREATE INDEX idx_username ON users(username);-- 查看索引
SHOW INDEX FROM 表名;-- 删除索引
DROP INDEX 索引名 ON 表名;

 六、用户与权限管理

-- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';-- 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';-- 示例:授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';-- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';-- 删除用户
DROP USER '用户名'@'主机名';-- 刷新权限
FLUSH PRIVILEGES;

七、退出 MySQL 

exit;
-- 或
quit;

总结

以上就是 MySQL 的基本操作,涵盖了数据库、表、数据的创建、查询、更新和删除等常用操作。在实际使用中,还会涉及更复杂的查询(如连接查询、子查询等)和数据库管理操作。建议结合实际项目练习,逐步掌握 MySQL 的更多高级特性。
掌握这些基础操作后,可以进一步学习 MySQL 的事务处理、存储过程、触发器等高级功能,以应对更复杂的业务场景。

http://www.xdnf.cn/news/1241515.html

相关文章:

  • Apache IoTDB(3):时序数据库 IoTDB Docker部署实战
  • [GYCTF2020]FlaskApp
  • Nginx vs Spring Cloud Gateway:限流功能深度对比与实践指南
  • 直角坐标系里的四象限对NLP中的深层语义分析的积极影响和启示
  • spring boot开发中的资源处理等问题
  • 怎样推动AI技术在人机协同中的发展?
  • RTSP/RTMP播放器超低延迟实战:无人机远控视觉链路的工程实践
  • vue3+vue-flow制作简单可拖拽可增删改流程图
  • Qt 自动无法加载数据库为空
  • Go语言select
  • 开源的现代数据探索和可视化平台:Apache Superset 使用 Docker Compose
  • 笔记本电脑联想T14重启后无法识别外置红米屏幕
  • 如何手动打包 Linux(麒麟系统)的 Qt 程序
  • JVM学习专题(四)对象创建过程
  • 【Spring Boot 】Spring Boot + OpenAI API 万能集成模板,实现快速集成AI
  • sqli-labs通关笔记-第30关GET字符注入(WAF绕过 双引号闭合 手工注入+脚本注入两种方法)
  • AI Agents漏洞百出,恶意提示等安全缺陷令人担忧
  • 高防服务器租用的作用都有哪些?
  • 随笔之 ClickHouse 列式分析数据库安装注意事项及基准测试
  • 【BUUCTF系列】[SUCTF 2019]EasySQL1
  • 【论文简读】LongSplat
  • Claude Code深度操作指南:从零到专家的AI编程助手实战
  • MAC-Spring Cloud + Spring Boot + RocketMQ集成
  • 链表问题解决分析框架
  • SP20D120CTU:1200 V/20 A SiC肖特基二极管的TO-263封装升级版,数据工程师必看!
  • 政府财政行业云原生转型之路
  • Maya 2024安装指南及安装包下载
  • 车载通信架构 ---车内通信的汽车网络安全
  • Linux中netstat详细使用指南
  • 【Linux】System V - 基于建造者模式的信号量